Bagikan melalui


Kelas CWinApp

Kelas dasar tempat Anda memperoleh objek aplikasi Windows.

Sintaks

class CWinApp : public CWinThread

Anggota

Konstruktor Publik

Nama Deskripsi
CWinApp::CWinApp Membuat CWinApp objek.

Metode Publik

Nama Deskripsi
CWinApp::AddDocTemplate Menambahkan templat dokumen ke daftar templat dokumen aplikasi yang tersedia.
CWinApp::AddToRecentFileList Menambahkan nama file ke daftar file yang terakhir digunakan (MRU).
CWinApp::ApplicationRecoveryCallback Dipanggil oleh kerangka kerja ketika aplikasi tiba-tiba keluar.
CWinApp::CloseAllDocuments Menutup semua dokumen yang terbuka.
CWinApp::CreatePrinterDC Membuat konteks perangkat printer.
CWinApp::D elRegTree Menghapus kunci tertentu dan semua subkuntaknya.
CWinApp::D oMessageBox Menerapkan AfxMessageBox untuk aplikasi.
CWinApp::D oWaitCursor Mengaktifkan dan menonaktifkan kursor tunggu.
CWinApp::Enabled2dSupport Mengaktifkan dukungan D2D aplikasi. Panggil metode ini sebelum jendela utama diinisialisasi.
CWinApp::EnableHtmlHelp Menerapkan HTMLHelp untuk aplikasi, bukan WinHelp.
CWinApp::EnableTaskbarInteraction Mengaktifkan interaksi Taskbar.
CWinApp::ExitInstance Ambil alih untuk membersihkan ketika aplikasi Anda berakhir.
CWinApp::GetApplicationRecoveryParameter Mengambil parameter input untuk metode pemulihan aplikasi.
CWinApp::GetApplicationRecoveryPingInterval Mengembalikan lamanya waktu manajer hidupkan ulang menunggu fungsi panggilan balik pemulihan dikembalikan.
CWinApp::GetApplicationRestartFlags Mengembalikan bendera untuk manajer hidupkan ulang.
CWinApp::GetAppRegistryKey Mengembalikan kunci untuk HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName.
CWinApp::GetDataRecoveryHandler Mendapatkan handler pemulihan data untuk instans aplikasi ini.
CWinApp::GetFirstDocTemplatePosition Mengambil posisi templat dokumen pertama.
CWinApp::GetHelpMode Mengambil jenis bantuan yang digunakan oleh aplikasi.
CWinApp::GetNextDocTemplate Mengambil posisi templat dokumen. Dapat digunakan secara rekursif.
CWinApp::GetPrinterDeviceDefaults Mengambil default perangkat pencetak.
CWinApp::GetProfileBinary Mengambil data biner dari entri di aplikasi . File INI.
CWinApp::GetProfileInt Mengambil bilangan bulat dari entri di aplikasi . File INI.
CWinApp::GetProfileString Mengambil string dari entri di aplikasi . File INI.
CWinApp::GetSectionKey Mengembalikan kunci untuk HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection.
CWinApp::HideApplication Menyembunyikan aplikasi sebelum menutup semua dokumen.
CWinApp::HtmlHelp HTMLHelp Memanggil fungsi Windows.
CWinApp::InitInstance Ambil alih untuk melakukan inisialisasi instans Windows, seperti membuat objek jendela Anda.
CWinApp::IsTaskbarInteractionEnabled Memberi tahu apakah interaksi Taskbar Windows 7 diaktifkan.
CWinApp::LoadCursor Memuat sumber daya kursor.
CWinApp::LoadIcon Memuat sumber daya ikon.
CWinApp::LoadOEMCursor Memuat kursor Windows OEM yang telah ditentukan sebelumnya yang ditentukan konstanta OCR_ di WINDOWS.H.
CWinApp::LoadOEMIcon Memuat ikon OEM Windows yang telah ditentukan sebelumnya yang ditentukan konstanta OIC_ di WINDOWS.H.
CWinApp::LoadStandardCursor Memuat kursor Windows yang telah ditentukan sebelumnya yang ditentukan konstanta IDC_ di WINDOWS.H.
CWinApp::LoadStandardIcon Memuat ikon Windows yang telah ditentukan sebelumnya yang ditentukan konstanta IDI_ di WINDOWS.H.
CWinApp::OnDDECommand Dipanggil oleh kerangka kerja sebagai respons terhadap perintah eksekusi pertukaran data dinamis (DDE).
CWinApp::OnIdle Ambil alih untuk melakukan pemrosesan waktu diam khusus aplikasi.
CWinApp::OpenDocumentFile Dipanggil oleh kerangka kerja untuk membuka dokumen dari file.
CWinApp::P arseCommandLine Mengurai parameter dan bendera individual di baris perintah.
CWinApp::P reTranslateMessage Memfilter pesan sebelum dikirim ke fungsi Windows TranslateMessage dan DispatchMessage.
CWinApp::P rocessMessageFilter Mencegat pesan tertentu sebelum mencapai aplikasi.
CWinApp::P rocessShellCommand Menangani argumen dan bendera baris perintah.
CWinApp::P rocessWndProcException Mencegat semua pengecualian yang tidak tertangani yang dilemparkan oleh penangan pesan dan perintah aplikasi.
CWinApp::Register Melakukan pendaftaran yang disesuaikan.
CWinApp::RegisterWithRestartManager Mendaftarkan aplikasi dengan manajer hidupkan ulang.
CWinApp::ReopenPreviousFilesAtRestart Menentukan apakah manajer mulai ulang membuka kembali file yang terbuka ketika aplikasi keluar secara tak terduga.
CWinApp::RestartInstance Menangani menghidupkan ulang aplikasi yang dimulai oleh manajer hidupkan ulang.
CWinApp::RestoreAutosavedFilesAtRestart Menentukan apakah manajer hidupkan ulang memulihkan file yang disimpan otomatis saat memulai ulang aplikasi.
CWinApp::Jalankan Menjalankan perulangan pesan default. Ambil alih untuk menyesuaikan perulangan pesan.
CWinApp::RunAutomated Menguji baris perintah aplikasi untuk opsi /Automation . Kedaluwarsa. Sebagai gantinya, gunakan nilai di CCommandLineInfo::m_bRunAutomated setelah memanggil ParseCommandLine.
CWinApp::RunEmbedded Menguji baris perintah aplikasi untuk opsi /Embedding . Kedaluwarsa. Sebagai gantinya, gunakan nilai di CCommandLineInfo::m_bRunEmbedded setelah memanggil ParseCommandLine.
CWinApp::SaveAllModified Meminta pengguna untuk menyimpan semua dokumen yang dimodifikasi.
CWinApp::SelectPrinter Memilih printer yang sebelumnya ditunjukkan oleh pengguna melalui kotak dialog cetak.
CWinApp::SetHelpMode Mengatur dan menginisialisasi jenis bantuan yang digunakan oleh aplikasi.
CWinApp::SupportsApplicationRecovery Menentukan apakah manajer hidupkan ulang memulihkan aplikasi yang keluar secara tak terduga.
CWinApp::SupportsAutosaveAtInterval Menentukan apakah manajer hidupkan ulang otomatis membuka dokumen secara berkala.
CWinApp::SupportsAutosaveAtRestart Menentukan apakah manajer hidupkan ulang otomatis simpan dokumen yang terbuka saat aplikasi dimulai ulang.
CWinApp::SupportsRestartManager Menentukan apakah aplikasi mendukung manajer hidupkan ulang.
CWinApp::Batalkan pendaftaran Membatalkan pendaftaran semua yang diketahui terdaftar oleh CWinApp objek.
CWinApp::WinHelp WinHelp Memanggil fungsi Windows.
CWinApp::WriteProfileBinary Menulis data biner ke entri di aplikasi . File INI.
CWinApp::WriteProfileInt Menulis bilangan bulat ke entri dalam aplikasi . File INI.
CWinApp::WriteProfileString Menulis string ke entri dalam aplikasi . File INI.

Metode yang Dilindungi

Nama Deskripsi
CWinApp::EnableShellBuka Memungkinkan pengguna membuka file data dari Pengelola File Windows.
CWinApp::LoadStdProfile Pengaturan Memuat standar . Pengaturan file INI dan mengaktifkan fitur daftar file MRU.
CWinApp::OnContextHelp Menangani Bantuan SHIFT+F1 dalam aplikasi.
CWinApp::OnFileNew Menerapkan perintah ID_FILE_NEW.
CWinApp::OnFileOpen Menerapkan perintah ID_FILE_OPEN.
CWinApp::OnFilePrintSetup Menerapkan perintah ID_FILE_PRINT_SETUP.
CWinApp::OnHelp Menangani Bantuan F1 dalam aplikasi (menggunakan konteks saat ini).
CWinApp::OnHelpFinder Menangani perintah ID_HELP_FINDER dan ID_DEFAULT_HELP.
CWinApp::OnHelpIndex Menangani perintah ID_HELP_INDEX dan menyediakan topik Bantuan default.
CWinApp::OnHelpUsing Menangani perintah ID_HELP_USING.
CWinApp::RegisterShellFileTypes Mendaftarkan semua jenis dokumen aplikasi dengan Windows File Manager.
CWinApp::SetAppID Secara eksplisit mengatur ID Model Pengguna Aplikasi untuk aplikasi. Metode ini harus dipanggil sebelum antarmuka pengguna disajikan kepada pengguna (tempat terbaik adalah konstruktor aplikasi).
CWinApp::SetRegistryKey Menyebabkan pengaturan aplikasi disimpan di registri alih-alih . File INI.
CWinApp::UnregisterShellFileTypes Membatalkan pendaftaran semua jenis dokumen aplikasi dengan Windows File Manager.

Anggota Data Publik

Nama Deskripsi
CWinApp::m_bHelpMode Menunjukkan apakah pengguna berada dalam mode konteks Bantuan (biasanya dipanggil dengan SHIFT+F1).
CWinApp::m_eHelpType Menentukan jenis bantuan yang digunakan oleh aplikasi.
CWinApp::m_hInstance Mengidentifikasi instans aplikasi saat ini.
CWinApp::m_lpCmdLine Menunjuk ke string null-terminated yang menentukan baris perintah untuk aplikasi.
CWinApp::m_nCmdShow Menentukan bagaimana jendela akan ditampilkan pada awalnya.
CWinApp::m_pActiveWnd Penunjuk ke jendela utama aplikasi kontainer saat server OLE aktif di tempat.
CWinApp::m_pszAppID ID Model Pengguna Aplikasi.
CWinApp::m_pszAppName Menentukan nama aplikasi.
CWinApp::m_pszExeName Nama modul aplikasi.
CWinApp::m_pszHelpFilePath Jalur ke file Bantuan aplikasi.
CWinApp::m_pszProfileName Aplikasi ini . Nama file INI.
CWinApp::m_pszRegistryKey Digunakan untuk menentukan kunci registri lengkap untuk menyimpan pengaturan profil aplikasi.

Anggota Data yang Dilindungi

Nama Deskripsi
CWinApp::m_dwRestartManagerSupportFlags Bendera yang menentukan bagaimana manajer hidupkan ulang berperilaku.
CWinApp::m_nAutosaveInterval Lamanya waktu dalam milidetik antara penyimpanan otomatis.
CWinApp::m_pDataRecoveryHandler Arahkan ke handler pemulihan data untuk aplikasi.

Keterangan

Objek aplikasi menyediakan fungsi anggota untuk menginisialisasi aplikasi Anda (dan setiap instansnya) dan untuk menjalankan aplikasi.

Setiap aplikasi yang menggunakan kelas Microsoft Foundation hanya dapat berisi satu objek yang berasal dari CWinApp. Objek ini dibangun ketika objek global C++ lainnya dibangun dan sudah tersedia ketika Windows memanggil WinMain fungsi, yang disediakan oleh Pustaka Kelas Microsoft Foundation. Nyatakan objek turunan CWinApp Anda di tingkat global.

Saat Anda mendapatkan kelas aplikasi dari CWinApp, ambil alih fungsi anggota InitInstance untuk membuat objek jendela utama aplikasi Anda.

Selain CWinApp fungsi anggota, Microsoft Foundation Class Library menyediakan fungsi global berikut untuk mengakses objek Anda CWinApp dan informasi global lainnya:

  • AfxGetApp Mendapatkan penunjuk ke CWinApp objek.

  • AfxGetInstanceHandle Mendapatkan handel ke instans aplikasi saat ini.

  • AfxGetResourceHandle Mendapatkan handel ke sumber daya aplikasi.

  • AfxGetAppName Mendapatkan penunjuk ke string yang berisi nama aplikasi. Sebagai alternatif, jika Anda memiliki penunjuk ke CWinApp objek, gunakan m_pszExeName untuk mendapatkan nama aplikasi.

Lihat CWinApp: Kelas Aplikasi untuk informasi selengkapnya tentang CWinApp kelas, termasuk gambaran umum hal berikut:

  • CWinApp-turunan kode yang ditulis oleh Wizard Aplikasi.

  • CWinAppperan dalam urutan eksekusi aplikasi Anda.

  • CWinAppimplementasi fungsi anggota default.

  • CWinAppKunci yang bisa ditimpa.

Anggota m_hPrevInstance data tidak lagi ada. Untuk menentukan apakah instans lain aplikasi sedang berjalan, gunakan mutex bernama. Jika membuka mutex gagal, maka tidak ada instans lain dari aplikasi yang berjalan.

Hierarki Warisan

CObject

CCmdTarget

CWinThread

CWinApp

Persyaratan

Header: afxwin.h

CWinApp::AddDocTemplate

Panggil fungsi anggota ini untuk menambahkan templat dokumen ke daftar templat dokumen yang tersedia yang dipertahankan aplikasi.

void AddDocTemplate(CDocTemplate* pTemplate);

Parameter

pTemplate
Penunjuk ke yang CDocTemplate akan ditambahkan.

Keterangan

Anda harus menambahkan semua templat dokumen ke aplikasi sebelum memanggil RegisterShellFileTypes.

Contoh

// The following code is produced by the Application Wizard when you
// choose the MDI (multiple document interface) option.
CMultiDocTemplate *pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_MYTYPE,
                                     RUNTIME_CLASS(CMyDoc),
                                     RUNTIME_CLASS(CChildFrame), // custom MDI child frame
                                     RUNTIME_CLASS(CMyView));
if (!pDocTemplate)
   return FALSE;
AddDocTemplate(pDocTemplate);

CWinApp::AddToRecentFileList

Panggil fungsi anggota ini untuk menambahkan lpszPathName ke daftar file MRU.

virtual void AddToRecentFileList(LPCTSTR lpszPathName);

Parameter

lpszPathName
Jalur file.

Keterangan

Anda harus memanggil fungsi anggota LoadStdProfile Pengaturan untuk memuat daftar file MRU saat ini sebelum Anda menggunakan fungsi anggota ini.

Kerangka kerja memanggil fungsi anggota ini saat membuka file atau menjalankan perintah Simpan Sebagai untuk menyimpan file dengan nama baru.

Contoh

// This adds the pathname c:\temp\test.doc to the top of
// the most recently used (MRU) list in the File menu.
AfxGetApp()->AddToRecentFileList(_T("c:\\temp\\test.doc"));

CWinApp::ApplicationRecoveryCallback

Dipanggil oleh kerangka kerja ketika aplikasi tiba-tiba keluar.

virtual DWORD ApplicationRecoveryCallback(LPVOID lpvParam);

Parameter

lpvParam
[in] Disiapkan untuk penggunaan di masa mendatang.

Tampilkan Nilai

0 jika metode ini berhasil; nonzero jika terjadi kesalahan.

Keterangan

Jika aplikasi Anda mendukung manajer hidupkan ulang, kerangka kerja memanggil fungsi ini saat aplikasi Anda keluar secara tiba-tiba.

Implementasi ApplicationRecoveryCallback default menggunakan untuk menyimpan daftar dokumen yang saat ini terbuka ke registri CDataRecoveryHandler . Metode ini tidak otomatis simpan file apa pun.

Untuk menyesuaikan perilaku, ambil alih fungsi ini di Kelas CWinApp turunan atau lewati metode pemulihan aplikasi Anda sendiri sebagai parameter ke CWinApp::RegisterWithRestartManager.

CWinApp::CloseAllDocuments

Panggil fungsi anggota ini untuk menutup semua dokumen yang terbuka sebelum keluar.

void CloseAllDocuments(BOOL bEndSession);

Parameter

bEndSession
Menentukan apakah sesi Windows sedang berakhir atau tidak. Hal ini BENAR jika sesi sedang berakhir; jika tidak FALSE.

Keterangan

Panggil HideApplication sebelum memanggil CloseAllDocuments.

CWinApp::CreatePrinterDC

Panggil fungsi anggota ini untuk membuat konteks perangkat pencetak (DC) dari pencetak terpilih.

BOOL CreatePrinterDC(CDC& dc);

Parameter

Dc
Referensi ke konteks perangkat printer.

Tampilkan Nilai

Bukan nol jika konteks perangkat printer berhasil dibuat; jika tidak, 0.

Keterangan

CreatePrinterDC menginisialisasi konteks perangkat yang Anda berikan berdasarkan referensi, sehingga Anda dapat menggunakannya untuk mencetak.

Jika fungsi berhasil, ketika Anda telah selesai mencetak, Anda harus menghancurkan konteks perangkat. Anda dapat membiarkan destruktor objek CDC melakukannya, atau Anda dapat melakukannya secara eksplisit dengan memanggil CDC::D eleteDC.

CWinApp::CWinApp

Membuat CWinApp objek dan meneruskan lpszAppName untuk disimpan sebagai nama aplikasi.

CWinApp(LPCTSTR lpszAppName = NULL);

Parameter

lpszAppName
String null-terminated yang berisi nama aplikasi yang digunakan Windows. Jika argumen ini tidak disediakan atau NULL, CWinApp gunakan string sumber daya AFX_IDS_APP_TITLE atau nama file file yang dapat dieksekusi.

Keterangan

Anda harus membuat satu objek global dari kelas turunan Anda CWinApp. Anda hanya dapat memiliki satu CWinApp objek dalam aplikasi Anda. Konstruktor menyimpan penunjuk ke CWinApp objek sehingga WinMain dapat memanggil fungsi anggota objek untuk menginisialisasi dan menjalankan aplikasi.

CWinApp::D elRegTree

Menghapus kunci registri tertentu dan semua subkuntangnya.

LONG DelRegTree(
    HKEY hParentKey,
    const CString& strKeyName);

LONG DelRegTree(
    HKEY hParentKey,
    const CString& strKeyName,
    CAtlTransactionManager* pTM = NULL);

Parameter

hParentKey
Tangani ke kunci registri.

strKeyName
Nama kunci registri yang akan dihapus.

Ptm
Pointer ke objek CAtlTransactionManager.

Tampilkan Nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS. Jika fungsi gagal, nilai pengembalian adalah kode kesalahan nonzero yang ditentukan dalam Winerror.h.

Keterangan

Panggil fungsi ini untuk menghapus kunci yang ditentukan dan subkuntangannya.

CWinApp::D oMessageBox

Kerangka kerja memanggil fungsi anggota ini untuk mengimplementasikan kotak pesan untuk fungsi global AfxMessageBox.

virtual int DoMessageBox(
    LPCTSTR lpszPrompt,
    UINT nType,
    UINT nIDPrompt);

Parameter

lpszPrompt
Alamat teks dalam kotak pesan.

nType
Gaya kotak pesan.

nIDPrompt
Indeks ke string konteks Bantuan.

Tampilkan Nilai

Mengembalikan nilai yang sama dengan AfxMessageBox.

Keterangan

Jangan panggil fungsi anggota ini untuk membuka kotak pesan; gunakan AfxMessageBox sebagai gantinya.

Ambil alih fungsi anggota ini untuk menyesuaikan pemrosesan AfxMessageBox panggilan di seluruh aplikasi Anda.

CWinApp::D oWaitCursor

Fungsi anggota ini dipanggil oleh kerangka kerja untuk mengimplementasikan CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor, dan CCmdTarget::RestoreWaitCursor.

virtual void DoWaitCursor(int nCode);

Parameter

nCode
Jika parameter ini adalah 1, kursor tunggu muncul. Jika 0, kursor tunggu dipulihkan tanpa meningkatkan jumlah referensi. Jika -1, kursor tunggu berakhir.

Keterangan

Default mengimplementasikan kursor hourglass. DoWaitCursor mempertahankan jumlah referensi. Ketika positif, kursor hourglass ditampilkan.

Meskipun Anda biasanya tidak akan memanggil DoWaitCursor secara langsung, Anda dapat mengambil alih fungsi anggota ini untuk mengubah kursor tunggu atau untuk melakukan pemrosesan tambahan saat kursor tunggu ditampilkan.

Untuk cara yang lebih mudah dan lebih efisien untuk menerapkan kursor tunggu, gunakan CWaitCursor.

Contoh

// The following example shows how to display the
// hourglass cursor during some lengthy processing
void CMdiView::OnLButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   AfxGetApp()->DoWaitCursor(1); // 1->>display the hourglass cursor

   // do some lengthy processing
   Sleep(1000);

   AfxGetApp()->DoWaitCursor(-1); // -1->>remove the hourglass cursor
}

// The next example shows DoWaitCursor with parameter 0. It restores
// the hourglass cursor.
void CMdiView::OnMButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   AfxGetApp()->DoWaitCursor(1); // display the hourglass cursor

   // do some lengthy processing

   // The message box will normally change the cursor to
   // the standard arrow cursor, and leave the cursor in
   // as the standard arrow cursor when the message box is
   // closed.
   AfxMessageBox(_T("DoWaitCursor Sample"));

   // Call DoWaitCursor with parameter 0 to restore
   // the cursor back to the hourglass cursor.
   AfxGetApp()->DoWaitCursor(0);

   // do some more lengthy processing
   Sleep(1000);

   AfxGetApp()->DoWaitCursor(-1); // remove the hourglass cursor
}

CWinApp::Enabled2dSupport

Visual Studio 2010 SP1 diperlukan.

Mengaktifkan dukungan D2D aplikasi. Panggil metode ini sebelum jendela utama diinisialisasi.

BOOL EnableD2DSupport(
    D2D1_FACTORY_TYPE d2dFactoryType = D2D1_FACTORY_TYPE_SINGLE_THREADED,
    DWRITE_FACTORY_TYPE writeFactoryType = DWRITE_FACTORY_TYPE_SHARED);

Parameter

d2dFactoryType
Model utas pabrik D2D dan sumber daya yang dibuatnya.

writeFactoryType
Nilai yang menentukan apakah objek pabrik tulis akan dibagikan atau diisolasi

Tampilkan Nilai

Mengembalikan TRUE jika dukungan D2D diaktifkan, FALSE - jika tidak

CWinApp::EnableHtmlHelp

Panggil fungsi anggota ini dari dalam konstruktor kelas turunan Anda CWinAppuntuk menggunakan HTMLHelp untuk bantuan aplikasi Anda.

void EnableHtmlHelp();

Keterangan

CWinApp::EnableShellBuka

Panggil fungsi ini, biasanya dari penimpaan Anda InitInstance , untuk memungkinkan pengguna aplikasi Anda membuka file data saat mereka mengklik dua kali file dari dalam Windows File Manager.

void EnableShellOpen();

Keterangan

RegisterShellFileTypes Panggil fungsi anggota bersama dengan fungsi ini, atau berikan . File REG dengan aplikasi Anda untuk pendaftaran manual jenis dokumen.

Contoh

// The following code fragment is from CMyApp::InitInstance.
// CMyApp is a CWinApp-derived class.

// enable file manager drag/drop and DDE Execute open
EnableShellOpen();
RegisterShellFileTypes();

CWinApp::EnableTaskbarInteraction

Mengaktifkan interaksi Taskbar.

BOOL EnableTaskbarInteraction(BOOL bEnable = TRUE);

Parameter

bEnable
Menentukan apakah interaksi dengan taskbar Windows 7 harus diaktifkan (TRUE), atau dinonaktifkan (FALSE).

Tampilkan Nilai

Mengembalikan TRUE jika interaksi taskbar dapat diaktifkan atau dinonaktifkan.

Keterangan

Metode ini harus dipanggil sebelum pembuatan jendela utama, jika tidak, metode ini menegaskan dan mengembalikan FALSE.

CWinApp::ExitInstance

Dipanggil oleh kerangka kerja dari dalam Run fungsi anggota untuk keluar dari instans aplikasi ini.

virtual int ExitInstance();

Tampilkan Nilai

Kode keluar aplikasi; 0 menunjukkan tidak ada kesalahan, dan nilai yang lebih besar dari 0 menunjukkan kesalahan. Nilai ini digunakan sebagai nilai pengembalian dari WinMain.

Keterangan

Jangan panggil fungsi anggota ini dari mana saja tetapi dalam Run fungsi anggota.

Implementasi default fungsi ini menulis opsi kerangka kerja ke aplikasi . File INI. Ambil alih fungsi ini untuk membersihkan ketika aplikasi Anda berakhir.

Contoh

int CMyApp::ExitInstance()
{
   if (m_pMySampleMem)
      delete m_pMySampleMem;

   DoCleanup();

   return CWinApp::ExitInstance();
}

CWinApp::GetApplicationRecoveryParameter

Mengambil parameter input untuk metode pemulihan aplikasi.

virtual LPVOID GetApplicationRecoveryParameter();

Tampilkan Nilai

Parameter input default untuk metode pemulihan aplikasi.

Keterangan

Perilaku default fungsi ini mengembalikan NULL.

Untuk informasi selengkapnya, lihat CWinApp::ApplicationRecoveryCallback.

CWinApp::GetApplicationRecoveryPingInterval

Mengembalikan lamanya waktu manajer hidupkan ulang menunggu fungsi panggilan balik pemulihan dikembalikan.

virtual DWORD GetApplicationRecoveryPingInterval();

Tampilkan Nilai

Lamanya waktu dalam milidetik.

Keterangan

Ketika aplikasi yang terdaftar dengan manajer hidupkan ulang keluar secara tiba-tiba, aplikasi mencoba menyimpan dokumen yang terbuka dan memanggil fungsi panggilan balik pemulihan. Fungsi panggilan balik pemulihan default adalah CWinApp::ApplicationRecoveryCallback.

Lamanya waktu kerangka kerja menunggu fungsi panggilan balik pemulihan dikembalikan adalah interval ping. Anda dapat menyesuaikan interval ping dengan menimpa CWinApp::GetApplicationRecoveryPingInterval atau dengan memberikan nilai kustom ke RegisterWithRestartManager.

CWinApp::GetApplicationRestartFlags

Mengembalikan bendera untuk manajer hidupkan ulang.

virtual DWORD GetApplicationRestartFlags();

Tampilkan Nilai

Bendera untuk manajer hidupkan ulang. Implementasi default mengembalikan 0.

Keterangan

Bendera untuk manajer hidupkan ulang tidak berpengaruh dengan implementasi default. Mereka disediakan untuk digunakan di masa mendatang.

Anda mengatur bendera saat mendaftarkan aplikasi dengan manajer hidupkan ulang dengan menggunakan CWinApp::RegisterWithRestartManager.

Nilai yang mungkin untuk bendera restart manager adalah sebagai berikut:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::GetAppRegistryKey

Mengembalikan kunci untuk HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName.

HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL);

Parameter

Ptm
Penunjuk CAtlTransactionManager ke objek.

Tampilkan Nilai

Kunci aplikasi jika fungsi berhasil; jika tidak, NULL.

Keterangan

CWinApp::GetDataRecoveryHandler

Mendapatkan handler pemulihan data untuk instans aplikasi ini.

virtual CDataRecoveryHandler *GetDataRecoveryHandler();

Tampilkan Nilai

Penangan pemulihan data untuk instans aplikasi ini.

Keterangan

Setiap aplikasi yang menggunakan manajer hidupkan ulang harus memiliki satu instans Kelas CDataRecoveryHandler. Kelas ini bertanggung jawab untuk memantau dokumen terbuka dan file penyimpanan otomatis. Perilaku CDataRecoveryHandler tergantung pada konfigurasi manajer hidupkan ulang. Untuk informasi selengkapnya, lihat Kelas CDataRecoveryHandler.

Metode ini mengembalikan NULL pada sistem operasi yang lebih lama dari Windows Vista. Manajer hidupkan ulang tidak didukung pada sistem operasi yang lebih lama dari Windows Vista.

Jika aplikasi saat ini tidak memiliki handler pemulihan data, metode ini akan membuatnya dan mengembalikan pointer ke dalamnya.

CWinApp::GetFirstDocTemplatePosition

Mendapatkan posisi templat dokumen pertama dalam aplikasi.

POSITION GetFirstDocTemplatePosition() const;

Tampilkan Nilai

Nilai POSISI yang dapat digunakan untuk perulangan atau pengambilan penunjuk objek; NULL jika daftar kosong.

Keterangan

Gunakan nilai POSISI yang dikembalikan dalam panggilan ke GetNextDocTemplate untuk mendapatkan objek CDocTemplate pertama.

CWinApp::GetHelpMode

Mengambil jenis bantuan yang digunakan oleh aplikasi.

AFX_HELP_TYPE GetHelpMode();

Tampilkan Nilai

Jenis bantuan yang digunakan oleh aplikasi. Lihat CWinApp::m_eHelpType untuk informasi selengkapnya.

CWinApp::GetNextDocTemplate

Mendapatkan templat dokumen yang diidentifikasi oleh pos, lalu mengatur pos ke nilai POSITION.

CDocTemplate* GetNextDocTemplate(POSITION& pos) const;

Parameter

pos
Referensi ke nilai POSISI yang dikembalikan oleh panggilan sebelumnya ke GetNextDocTemplate atau GetFirstDocTemplatePosition. Nilai diperbarui ke posisi berikutnya dengan panggilan ini.

Tampilkan Nilai

Penunjuk ke objek CDocTemplate .

Keterangan

Anda dapat menggunakan GetNextDocTemplate dalam perulangan perulangan penerusan jika Anda membuat posisi awal dengan panggilan ke GetFirstDocTemplatePosition.

Anda harus memastikan bahwa nilai POSISI Anda valid. Jika tidak valid, maka versi Debug dari Microsoft Foundation Class Library menegaskan.

Jika templat dokumen yang diambil adalah yang terakhir tersedia, maka nilai baru pos diatur ke NULL.

CWinApp::GetPrinterDeviceDefaults

Panggil fungsi anggota ini untuk menyiapkan konteks perangkat printer untuk pencetakan.

BOOL GetPrinterDeviceDefaults(struct tagPDA* pPrintDlg);

Parameter

pPrintDlg
Penunjuk ke struktur PRINTDLG .

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Mengambil default printer saat ini dari Windows . File INI seperlunya, atau menggunakan konfigurasi printer terakhir yang ditetapkan oleh pengguna dalam Penyetelan Cetak.

Contoh

void CMyApp::SetLandscapeMode()
{
   PRINTDLG pd;
   pd.lStructSize = (DWORD)sizeof(PRINTDLG);
   BOOL bRet = GetPrinterDeviceDefaults(&pd);
   if (bRet)
   {
      // protect memory handle with ::GlobalLock and ::GlobalUnlock
      DEVMODE FAR *pDevMode = (DEVMODE FAR*)::GlobalLock(pd.hDevMode);
      // set orientation to landscape
      pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
      ::GlobalUnlock(pd.hDevMode);
   }
}

CWinApp::GetProfileBinary

Panggil fungsi anggota ini untuk mengambil data biner dari entri dalam bagian tertentu dari registri aplikasi atau . File INI.

BOOL GetProfileBinary(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPBYTE* ppData,
    UINT* pBytes);

Parameter

lpszSection
Menunjuk ke string null-terminated yang menentukan bagian yang berisi entri.

lpszEntry
Menunjuk ke string null-terminated yang berisi entri yang nilainya akan diambil.

ppData
Arahkan ke pointer yang akan menerima alamat data.

pByte
Menunjuk ke UINT yang akan menerima ukuran data (dalam byte).

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi anggota ini tidak peka huruf besar/kecil, sehingga string dalam parameter lpszSection dan lpszEntry mungkin berbeda jika terjadi.

Catatan

GetProfileBinary mengalokasikan buffer dan mengembalikan alamatnya dalam * ppData. Pemanggil bertanggung jawab untuk membebaskan buffer menggunakan hapus [].

Penting

Data yang dikembalikan oleh fungsi ini belum tentu NULL dihentikan, dan pemanggil harus melakukan validasi. Untuk informasi selengkapnya, lihat Menghindari Buffer Overruns.

Contoh

CWinApp* pApp = AfxGetApp();

const TCHAR* pszKey = _T("My Section");
struct complex {
  double re, im;
} myData = { 1.4142, -0.5 };

// Write the information to the registry.

pApp->WriteProfileBinary(pszKey, _T("ComplexData"), (LPBYTE)&myData, 
   sizeof(myData));

// Read the information from the registry.

complex* pData;
UINT n;
BOOL ret = pApp->GetProfileBinary(pszKey, _T("ComplexData"), (LPBYTE*)&pData, 
   &n);

ASSERT(ret);
ASSERT(n == sizeof(complex));
ASSERT(myData.re == pData->re);
ASSERT(myData.im == pData->im);
delete [] pData; // free the buffer

Untuk contoh tambahan, lihat CWinApp::WriteProfileBinary.

CWinApp::GetProfileInt

Panggil fungsi anggota ini untuk mengambil nilai bilangan bulat dari entri dalam bagian tertentu dari registri aplikasi atau . File INI.

UINT GetProfileInt(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    int nDefault);

Parameter

lpszSection
Menunjuk ke string null-terminated yang menentukan bagian yang berisi entri.

lpszEntry
Menunjuk ke string null-terminated yang berisi entri yang nilainya akan diambil.

nDefault
Menentukan nilai default yang akan dikembalikan jika kerangka kerja tidak dapat menemukan entri.

Tampilkan Nilai

Nilai bilangan bulat string yang mengikuti entri yang ditentukan jika fungsi berhasil. Nilai yang dikembalikan adalah nilai parameter nDefault jika fungsi tidak menemukan entri. Nilai yang dikembalikan adalah 0 jika nilai yang sesuai dengan entri yang ditentukan bukan bilangan bulat.

Fungsi anggota ini mendukung notasi heksadesimal untuk nilai dalam . File INI. Ketika Anda mengambil bilangan bulat yang ditandatangani, Anda harus melemparkan nilai ke dalam int.

Keterangan

Fungsi anggota ini tidak peka huruf besar/kecil, sehingga string dalam parameter lpszSection dan lpszEntry mungkin berbeda jika terjadi.

Penting

Data yang dikembalikan oleh fungsi ini belum tentu NULL dihentikan, dan pemanggil harus melakukan validasi. Untuk informasi selengkapnya, lihat Menghindari Buffer Overruns.

Contoh

CWinApp *pApp = AfxGetApp();

const TCHAR *pszKey = _T("My Section");
const TCHAR *pszName = _T("Julian");
int iAge = 26;

// Write the information to the registry.

pApp->WriteProfileString(pszKey, _T("Name"), pszName);
pApp->WriteProfileInt(pszKey, _T("Age"), iAge);

// Read the information from the registry.

CString strName = pApp->GetProfileString(pszKey, _T("Name"));
int iAge2 = pApp->GetProfileInt(pszKey, _T("Age"), 0);

ASSERT(strName == pszName);
ASSERT(iAge2 == iAge);

Untuk contoh tambahan, lihat CWinApp::WriteProfileInt.

CWinApp::GetProfileString

Panggil fungsi anggota ini untuk mengambil string yang terkait dengan entri dalam bagian yang ditentukan di registri aplikasi atau . File INI.

CString GetProfileString(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszDefault = NULL);

Parameter

lpszSection
Menunjuk ke string null-terminated yang menentukan bagian yang berisi entri.

lpszEntry
Menunjuk ke string null-terminated yang berisi entri yang stringnya akan diambil. Nilai ini tidak boleh NULL.

lpszDefault
Menunjuk ke nilai string default untuk entri yang diberikan jika entri tidak dapat ditemukan dalam file inisialisasi.

Tampilkan Nilai

Nilai yang dikembalikan adalah string dari aplikasi . File INI atau lpszDefault jika string tidak dapat ditemukan. Panjang string maksimum yang didukung oleh kerangka kerja adalah _MAX_PATH. Jika lpszDefault adalah NULL, nilai yang dikembalikan adalah string kosong.

Keterangan

Penting

Data yang dikembalikan oleh fungsi ini belum tentu NULL dihentikan, dan pemanggil harus melakukan validasi. Untuk informasi selengkapnya, lihat Menghindari Buffer Overruns.

Contoh

CWinApp *pApp = AfxGetApp();

CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");

pApp->WriteProfileString(strSection, strStringItem, _T("test"));

CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));

pApp->WriteProfileInt(strSection, strIntItem, 1234);

int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);

Untuk contoh lain, lihat contoh untuk CWinApp::GetProfileInt.

CWinApp::GetSectionKey

Mengembalikan kunci untuk HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection.

HKEY GetSectionKey(
    LPCTSTR lpszSection,
    CAtlTransactionManager* pTM = NULL);

Parameter

lpszSection
Nama kunci yang akan diperoleh.

Ptm
Penunjuk CAtlTransactionManager ke objek.

Tampilkan Nilai

Kunci bagian jika fungsi berhasil; jika tidak, NULL.

Keterangan

CWinApp::HideApplication

Panggil fungsi anggota ini untuk menyembunyikan aplikasi sebelum menutup dokumen yang terbuka.

void HideApplication();

CWinApp::HtmlHelp

Panggil fungsi anggota ini untuk memanggil aplikasi HTMLHelp.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Parameter

dwData
Menentukan data tambahan. Nilai yang digunakan tergantung pada nilai parameter nCmd . Default yang 0x000F berarti HH_HELP_CONTEXT.

nCmd
Menentukan jenis bantuan yang diminta. Untuk daftar nilai yang mungkin dan pengaruhnya terhadap parameter dwData , lihat parameter uCommand yang dijelaskan dalam fungsi HTMLHelpW atau HtmlHelpA API di Windows SDK.

Keterangan

Kerangka kerja ini juga memanggil fungsi ini untuk memanggil aplikasi HTMLHelp.

Kerangka kerja akan secara otomatis menutup aplikasi HTMLHelp saat aplikasi Anda berakhir.

CWinApp::InitInstance

Windows memperbolehkan beberapa salinan program yang sama dijalankan secara bersamaan.

virtual BOOL InitInstance();

Tampilkan Nilai

Bukan nol jika inisialisasi berhasil; jika tidak, 0.

Keterangan

Inisialisasi aplikasi secara konseptual dibagi menjadi dua bagian: inisialisasi aplikasi satu kali yang dilakukan pertama kali program berjalan, dan inisialisasi instans yang berjalan setiap kali salinan program berjalan, termasuk pertama kalinya. Implementasi WinMain kerangka kerja memanggil fungsi ini.

Ambil alih InitInstance untuk menginisialisasi setiap instans baru aplikasi Anda yang berjalan di bawah Windows. Biasanya, Anda mengambil alih InitInstance untuk membuat objek jendela utama Anda dan mengatur anggota data untuk menunjuk ke jendela tersebut CWinThread::m_pMainWnd . Untuk informasi selengkapnya tentang mengambil alih fungsi anggota ini, lihat CWinApp: Kelas Aplikasi.

Catatan

Aplikasi MFC harus diinisialisasi sebagai apartemen berulir tunggal (STA). Jika Anda memanggil CoInitializeEx dalam penimpaan Anda InitInstance , tentukan COINIT_APARTMENTTHREADED (bukan COINIT_MULTITHREADED).

Contoh

// AppWizard implements the InitInstance overridable function 
// according to options you select.  For example, the multiple document
// interface (MDI) option was chosen for the AppWizard code created
// below. You can add other per-instance initializations to the code
// created by AppWizard.

BOOL CMFCListViewApp::InitInstance()
{
   AfxSetAmbientActCtx(FALSE);
   // Remainder of function definition omitted.

   CWinApp::InitInstance();

   // Initialize OLE libraries
   if (!AfxOleInit())
   {
      AfxMessageBox(_T("OleInit failed."));
      return FALSE;
   }

   // Standard initialization
   // If you are not using these features and wish to reduce the size
   // of your final executable, you should remove from the following
   // the specific initialization routines you do not need
   // Change the registry key under which our settings are stored
   // TODO: You should modify this string to be something appropriate
   // such as the name of your company or organization
   SetRegistryKey(_T("Local AppWizard-Generated Applications"));
   LoadStdProfileSettings(4);  // Load standard INI file options (including MRU)
   // Register the application's document templates.  Document templates
   //  serve as the connection between documents, frame windows and views
   CMultiDocTemplate* pDocTemplate;
   pDocTemplate = new CMultiDocTemplate(IDR_MFCListViewTYPE,
      RUNTIME_CLASS(CMFCListViewDoc),
      RUNTIME_CLASS(CChildFrame), // custom MDI child frame
      RUNTIME_CLASS(CMyListView));
   if (!pDocTemplate)
      return FALSE;
   AddDocTemplate(pDocTemplate);

   // create main MDI Frame window
   CMainFrame* pMainFrame = new CMainFrame;
   if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
   {
      delete pMainFrame;
      return FALSE;
   }
   m_pMainWnd = pMainFrame;
   // call DragAcceptFiles only if there's a suffix
   //  In an MDI app, this should occur immediately after setting m_pMainWnd


   // Parse command line for standard shell commands, DDE, file open
   CCommandLineInfo cmdInfo;
   ParseCommandLine(cmdInfo);


   // Dispatch commands specified on the command line.  Will return FALSE if
   // app was launched with /RegServer, /Register, /Unregserver or /Unregister.
   if (!ProcessShellCommand(cmdInfo))
      return FALSE;
   // The main window has been initialized, so show and update it
   pMainFrame->ShowWindow(m_nCmdShow);
   pMainFrame->UpdateWindow();

   return TRUE;
}

CWinApp::IsTaskbarInteractionEnabled

Memberi tahu apakah interaksi Taskbar Windows 7 diaktifkan.

virtual BOOL IsTaskbarInteractionEnabled();

Tampilkan Nilai

Mengembalikan TRUE jika EnableTaskbarInteraction telah dipanggil dan Sistem Operasi adalah Windows 7 atau lebih tinggi.

Keterangan

Interaksi taskbar berarti bahwa aplikasi MDI menampilkan konten anak MDI dalam gambar mini bertab terpisah yang muncul ketika penunjuk mouse berada di atas tombol taskbar aplikasi.

CWinApp::LoadCursor

Memuat sumber daya kursor bernama oleh lpszResourceName atau ditentukan oleh nIDResource dari file yang dapat dieksekusi saat ini.

HCURSOR LoadCursor(LPCTSTR lpszResourceName) const;  HCURSOR LoadCursor(UINT nIDResource) const;

Parameter

lpszResourceName
Menunjuk ke string null-terminated yang berisi nama sumber daya kursor. Anda dapat menggunakan CString untuk argumen ini.

nIDResource
ID sumber daya kursor. Untuk daftar sumber daya, lihat LoadCursor di Windows SDK.

Tampilkan Nilai

Handel ke kursor jika berhasil; jika tidak, NULL.

Keterangan

LoadCursor memuat kursor ke dalam memori hanya jika belum dimuat sebelumnya; jika tidak, ia mengambil handel dari sumber daya yang ada.

Gunakan fungsi anggota LoadStandardCursor atau LoadOEMCursor untuk mengakses kursor Windows yang telah ditentukan sebelumnya.

Contoh

HCURSOR hCursor;

// Load a cursor resource that was originally created using
// the Graphics Editor and assigned the i.d. IDC_MYCURSOR.
hCursor = AfxGetApp()->LoadCursor(IDC_MYCURSOR);

CWinApp::LoadIcon

Memuat sumber daya ikon bernama oleh lpszResourceName atau ditentukan oleh nIDResource dari file yang dapat dieksekusi.

HICON LoadIcon(LPCTSTR lpszResourceName) const;  HICON LoadIcon(UINT nIDResource) const;

Parameter

lpszResourceName
Menunjuk ke string null-terminated yang berisi nama sumber daya ikon. Anda juga dapat menggunakan CString untuk argumen ini.

nIDResource
Nomor ID sumber daya ikon.

Tampilkan Nilai

Handel ke ikon jika berhasil; jika tidak, NULL.

Keterangan

LoadIcon memuat ikon hanya jika belum dimuat sebelumnya; jika tidak, ia mengambil handel dari sumber daya yang ada.

Anda dapat menggunakan fungsi anggota LoadStandardIcon atau LoadOEMIcon untuk mengakses ikon Windows yang telah ditentukan sebelumnya.

Catatan

Fungsi anggota ini memanggil fungsi Api Win32 LoadIcon, yang hanya dapat memuat ikon yang ukurannya sesuai dengan nilai metrik sistem SM_CXICON dan SM_CYICON.

CWinApp::LoadOEMCursor

Memuat sumber daya kursor Windows yang telah ditentukan sebelumnya yang ditentukan oleh nIDCursor.

HCURSOR LoadOEMCursor(UINT nIDCursor) const;

Parameter

nIDCursor
Pengidentifikasi konstanta manifes OCR_ yang menentukan kursor Windows yang telah ditentukan sebelumnya. Anda harus memiliki #define OEMRESOURCE sebelumnya #include \<afxwin.h> untuk mendapatkan akses ke konstanta OCR_ di WINDOWS.H.

Tampilkan Nilai

Handel ke kursor jika berhasil; jika tidak, NULL.

Keterangan

LoadOEMCursor Gunakan fungsi atau anggota LoadStandardCursor untuk mengakses kursor Windows yang telah ditentukan sebelumnya.

Contoh

// In the stdafx.h file, add #define OEMRESOURCE to
// include the windows.h definitions of OCR_ values.
#define OEMRESOURCE
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions

 

HCURSOR hCursor;
// Load the predefined WIndows "size all" cursor.
hCursor = AfxGetApp()->LoadOEMCursor(OCR_SIZEALL);

CWinApp::LoadOEMIcon

Memuat sumber daya ikon windows yang telah ditentukan sebelumnya yang ditentukan oleh nIDIcon.

HICON LoadOEMIcon(UINT nIDIcon) const;

Parameter

nIDIcon
Pengidentifikasi konstanta manifes OIC_ yang menentukan ikon Windows yang telah ditentukan sebelumnya. Anda harus memiliki #define OEMRESOURCE sebelumnya #include \<afxwin.h> untuk mengakses konstanta OIC_ di WINDOWS.H.

Tampilkan Nilai

Handel ke ikon jika berhasil; jika tidak, NULL.

Keterangan

LoadOEMIcon Gunakan fungsi atau anggota LoadStandardIcon untuk mengakses ikon Windows yang telah ditentukan sebelumnya.

CWinApp::LoadStandardCursor

Memuat sumber daya kursor Windows yang telah ditentukan sebelumnya yang ditentukan lpszCursorName .

HCURSOR LoadStandardCursor(LPCTSTR lpszCursorName) const;

Parameter

lpszCursorName
Pengidentifikasi konstanta manifes IDC_ yang menentukan kursor Windows yang telah ditentukan sebelumnya. Pengidentifikasi ini didefinisikan dalam WINDOWS.H. Daftar berikut menunjukkan kemungkinan nilai dan arti yang telah ditentukan sebelumnya untuk lpszCursorName:

  • IDC_ARROW kursor panah Standar

  • IDC_IBEAM kursor penyisipan teks Standar

  • IDC_WAIT kursor Hourglass yang digunakan ketika Windows melakukan tugas yang memakan waktu

  • IDC_CROSS Kursor rambut silang untuk pilihan

  • IDC_UPARROW Arrow yang menunjuk lurus ke atas

  • IDC_SIZE Usang dan tidak didukung; gunakan IDC_SIZEALL

  • IDC_SIZEALL Panah empat arah. Kursor yang digunakan untuk mengubah ukuran jendela.

  • IDC_ICON Usang dan tidak didukung. Gunakan IDC_ARROW.

  • IDC_SIZENWSE Panah dua arah dengan ujung kiri atas dan kanan bawah

  • IDC_SIZENESW Panah dua arah dengan ujung kanan atas dan kiri bawah

  • IDC_SIZEWE Panah dua arah horizontal

  • IDC_SIZENS Panah dua kepala vertikal

Tampilkan Nilai

Handel ke kursor jika berhasil; jika tidak, NULL.

Keterangan

LoadStandardCursor Gunakan fungsi atau anggota LoadOEMCursor untuk mengakses kursor Windows yang telah ditentukan sebelumnya.

Contoh

HCURSOR hCursor;

// Load the predefined Windows "up arrow" cursor.
hCursor = AfxGetApp()->LoadStandardCursor(IDC_UPARROW);

CWinApp::LoadStandardIcon

Memuat sumber daya ikon windows yang telah ditentukan sebelumnya yang ditentukan lpszIconName .

HICON LoadStandardIcon(LPCTSTR lpszIconName) const;

Parameter

lpszIconName
Pengidentifikasi konstanta manifes yang menentukan ikon Windows yang telah ditentukan sebelumnya. Pengidentifikasi ini didefinisikan dalam WINDOWS.H. Untuk daftar kemungkinan nilai yang telah ditentukan sebelumnya dan deskripsinya, lihat parameter lpIconName di LoadIcon di Windows SDK.

Tampilkan Nilai

Handel ke ikon jika berhasil; jika tidak, NULL.

Keterangan

LoadStandardIcon Gunakan fungsi atau anggota LoadOEMIcon untuk mengakses ikon Windows yang telah ditentukan sebelumnya.

CWinApp::LoadStdProfile Pengaturan

Panggil fungsi anggota ini dari dalam fungsi anggota InitInstance untuk mengaktifkan dan memuat daftar file yang terakhir digunakan (MRU) dan status pratinjau terakhir.

void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);

Parameter

nMaxMRU
Jumlah file yang baru digunakan untuk dilacak.

Keterangan

Jika nMaxMRU adalah 0, tidak ada daftar MRU yang akan dipertahankan.

CWinApp::m_bHelpMode

TRUE jika aplikasi berada dalam mode konteks Bantuan (secara konvensional dipanggil dengan SHIFT + F1); jika tidak FALSE.

BOOL m_bHelpMode;

Keterangan

Dalam mode konteks Bantuan, kursor menjadi tanda tanya dan pengguna dapat memindahkannya tentang layar. Periksa bendera ini jika Anda ingin menerapkan penanganan khusus saat dalam mode Bantuan. m_bHelpMode adalah variabel publik jenis BOOL.

CWinApp::m_dwRestartManagerSupportFlags

Bendera yang menentukan bagaimana manajer hidupkan ulang berperilaku.

DWORD m_dwRestartManagerSupportFlags;

Keterangan

Untuk mengaktifkan manajer hidupkan ulang, atur m_dwRestartManagerSupportFlags ke perilaku yang Anda inginkan. Tabel berikut ini memperlihatkan bendera yang tersedia.

Bendera Deskripsi
AFX_RESTART_MANAGER_SUPPORT_RESTART Aplikasi ini terdaftar dengan menggunakan CWinApp::RegisterWithRestartManager. Manajer hidupkan ulang bertanggung jawab untuk memulai ulang aplikasi jika tiba-tiba keluar.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY Aplikasi terdaftar dengan manajer hidupkan ulang dan manajer hidupkan ulang memanggil fungsi panggilan balik pemulihan saat memulai ulang aplikasi. Fungsi panggilan balik pemulihan default adalah CWinApp::ApplicationRecoveryCallback.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART Simpan otomatis diaktifkan dan manajer hidupkan ulang secara otomatis simpan dokumen yang terbuka saat aplikasi dimulai ulang.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL Simpan otomatis diaktifkan dan manajer hidupkan ulang secara otomatis simpan dokumen yang terbuka secara berkala. Interval ditentukan oleh CWinApp::m_nAutosaveInterval.
- AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES Manajer mulai ulang membuka dokumen yang sebelumnya terbuka setelah memulai ulang aplikasi dari pintu keluar yang tidak terduga. Kelas CDataRecoveryHandler menangani penyimpanan daftar dokumen terbuka dan memulihkannya.
- AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES Manajer mulai ulang meminta pengguna untuk memulihkan file yang disimpan otomatis setelah memulai ulang aplikasi. Kelas CDataRecoveryHandler meminta pengguna.
- AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE Persatuan AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_SUPPORT_RECOVER, dan AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES.
- AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS Serikat AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL, dan AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
- AFX_RESTART_MANAGER_SUPPORT_RESTART_ASPECTS Persatuan AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES, dan AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY_ASPECTS Serikat ofAFX_RESTART_MANAGER_SUPPORT_RECOVERY, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES, dan AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.

CWinApp::m_eHelpType

Jenis anggota data ini adalah jenis enumerasi AFX_HELP_TYPE, yang ditentukan dalam CWinApp kelas.

AFX_HELP_TYPE m_eHelpType;

Keterangan

Enumerasi AFX_HELP_TYPE didefinisikan sebagai berikut:

enum AFX_HELP_TYPE {
    afxWinHelp = 0,
    afxHTMLHelp = 1
    };
  • Untuk mengatur bantuan aplikasi ke Bantuan HTML, panggil SetHelpMode dan tentukan afxHTMLHelp.

  • Untuk mengatur bantuan aplikasi ke WinHelp, panggil SetHelpMode dan tentukan afxWinHelp.

CWinApp::m_hInstance

Sesuai dengan parameter hInstance yang diteruskan oleh Windows ke WinMain.

HINSTANCE m_hInstance;

Keterangan

Anggota m_hInstance data adalah handel untuk instans aplikasi saat ini yang berjalan di bawah Windows. Ini dikembalikan oleh fungsi global AfxGetInstanceHandle. m_hInstance adalah variabel publik jenis HINSTANCE.

Contoh

// Typically you do not need to pass the application's hInstance
// to Windows APIs directly because there are equivalent MFC
// member functions that pass the hInstance for you.  The following
// example is not typical:

HCURSOR hCursor;
hCursor = ::LoadCursor(AfxGetApp()->m_hInstance, 
   MAKEINTRESOURCE(IDC_MYCURSOR));

// A more direct way to get the application's hInstance is to
// call AfxGetInstanceHandle:
hCursor = ::LoadCursor(AfxGetInstanceHandle(), 
   MAKEINTRESOURCE(IDC_MYCURSOR));

// If you need the hInstance to load a resource, it is better
// to call AfxGetResourceHandle instead of AfxGetInstanceHandle:
hCursor = ::LoadCursor(AfxGetResourceHandle(), 
   MAKEINTRESOURCE(IDC_MYCURSOR));

// A better way to load the cursor resource is to call
// CWinApp::LoadCursor
hCursor = AfxGetApp()->LoadCursor(IDC_MYCURSOR);

CWinApp::m_lpCmdLine

Sesuai dengan parameter lpCmdLine yang diteruskan oleh Windows ke WinMain.

LPTSTR m_lpCmdLine;

Keterangan

Menunjuk ke string null-terminated yang menentukan baris perintah untuk aplikasi. Gunakan m_lpCmdLine untuk mengakses argumen baris perintah yang dimasukkan pengguna saat aplikasi dimulai. m_lpCmdLine adalah variabel publik jenis LPTSTR.

Contoh

if (m_lpCmdLine[0] == _T('\0'))
{
   // Create a new (empty) document.
   OnFileNew();
}
else
{
   // Open a file passed as the first command line parameter.
   OpenDocumentFile(m_lpCmdLine);
}

CWinApp::m_nAutosaveInterval

Lamanya waktu dalam milidetik antara penyimpanan otomatis.

int m_nAutosaveInterval;

Keterangan

Anda dapat mengonfigurasi manajer hidupkan ulang untuk menyimpan dokumen yang terbuka secara otomatis pada interval yang ditetapkan. Jika aplikasi Anda tidak menyimpan file secara otomatis, parameter ini tidak berpengaruh.

CWinApp::m_nCmdShow

Sesuai dengan parameter nCmdShow yang diteruskan oleh Windows ke WinMain.

int m_nCmdShow;

Keterangan

Anda harus meneruskan m_nCmdShow sebagai argumen saat memanggil CWnd::ShowWindow untuk jendela utama aplikasi Anda. m_nCmdShow adalah variabel publik jenis int.

Contoh

// The following code fragment is taken from CMyApp::InitInstance.
// CMyApp is derived from CWinApp.

// The main window has been initialized, so show and update it
// using the nCmdShow parameter passed to the application when it
// was first launched.
// pMainFrame is the main MDI frame window of our app and is derived
// from CMDIFrameWnd.
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();

CWinApp::m_pActiveWnd

Gunakan anggota data ini untuk menyimpan pointer ke jendela utama aplikasi kontainer OLE yang mengaktifkan aplikasi server OLE Anda di tempat.

Keterangan

Jika anggota data ini NULL, aplikasi tidak aktif di tempat.

Kerangka kerja mengatur variabel anggota ini ketika jendela bingkai di tempat diaktifkan oleh aplikasi kontainer OLE.

CWinApp::m_pDataRecoveryHandler

Arahkan ke handler pemulihan data untuk aplikasi.

CDataRecoveryHandler* m_pDataRecoveryHandler;

Keterangan

Penangan pemulihan data aplikasi memantau dokumen terbuka dan menyimpannya secara otomatis. Kerangka kerja menggunakan handler pemulihan data untuk memulihkan file yang disimpan otomatis ketika aplikasi dimulai ulang setelah keluar secara tiba-tiba. Untuk informasi selengkapnya, lihat Kelas CDataRecoveryHandler.

CWinApp::m_pszAppName

Menentukan nama aplikasi.

LPCTSTR m_pszAppName;

Keterangan

Nama aplikasi dapat berasal dari parameter yang diteruskan ke konstruktor CWinApp , atau, jika tidak ditentukan, ke string sumber daya dengan ID AFX_IDS_APP_TITLE. Jika nama aplikasi tidak ditemukan di sumber daya, itu berasal dari nama file .EXE program.

Dikembalikan oleh fungsi global AfxGetAppName. m_pszAppName adalah variabel publik dari jenis karakter* const.

Catatan

Jika Anda menetapkan nilai ke m_pszAppName, nilai harus dialokasikan secara dinamis pada timbunan. CWinApp Destruktor memanggil free( ) dengan pointer ini. Anda banyak yang ingin menggunakan _tcsdupfungsi pustaka run-time ( ) untuk melakukan alokasi. Selain itu, bebaskan memori yang terkait dengan pointer saat ini sebelum menetapkan nilai baru. Contohnya:

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszAppName);
//Change the name of the application file.
//The CWinApp destructor will free the memory.
m_pszAppName = _tcsdup(_T("c:\\somedir\\myapp.exe"));

Contoh

CWnd *pWnd = AfxGetMainWnd();
// Set pWnd to some CWnd object whose window has already
// been created.

// The following call to CWnd::MessageBox uses the application
// title as the message box caption.
pWnd->MessageBox(_T("Some message"), AfxGetApp()->m_pszAppName);

// A more direct way to get the application title is to
// call AfxGetAppName:
pWnd->MessageBox(_T("Some message"), AfxGetAppName());

// An easier way to display a message box using the application
// title as the message box caption is to call AfxMessageBox:
AfxMessageBox(_T("Some message"));

CWinApp::m_pszExeName

Berisi nama file aplikasi yang dapat dieksekusi tanpa ekstensi.

LPCTSTR m_pszExeName;

Keterangan

Tidak seperti m_pszAppName, nama ini tidak boleh berisi kosong. m_pszExeName adalah variabel publik dari jenis karakter* const.

Catatan

Jika Anda menetapkan nilai ke m_pszExeName, nilai harus dialokasikan secara dinamis pada timbunan. CWinApp Destruktor memanggil free( ) dengan pointer ini. Anda banyak yang ingin menggunakan _tcsdupfungsi pustaka run-time ( ) untuk melakukan alokasi. Selain itu, bebaskan memori yang terkait dengan pointer saat ini sebelum menetapkan nilai baru. Contohnya:

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszExeName);
//Change the name of the .EXE file.
//The CWinApp destructor will free the memory.
m_pszExeName = _tcsdup(_T("c:\\somedir\\myapp"));

CWinApp::m_pszHelpFilePath

Berisi jalur ke file Bantuan aplikasi.

LPCTSTR m_pszHelpFilePath;

Keterangan

Secara default, kerangka kerja menginisialisasi m_pszHelpFilePath ke nama aplikasi dengan ". HLP" ditambahkan. Untuk mengubah nama file bantuan, atur m_pszHelpFilePath untuk menunjuk ke string yang berisi nama lengkap file bantuan yang diinginkan. Tempat yang nyaman untuk melakukan ini ada dalam fungsi InitInstance aplikasi. m_pszHelpFilePath adalah variabel publik dari jenis karakter* const.

Catatan

Jika Anda menetapkan nilai ke m_pszHelpFilePath, nilai harus dialokasikan secara dinamis pada timbunan. CWinApp Destruktor memanggil free( ) dengan pointer ini. Anda banyak yang ingin menggunakan _tcsdupfungsi pustaka run-time ( ) untuk melakukan alokasi. Selain itu, bebaskan memori yang terkait dengan pointer saat ini sebelum menetapkan nilai baru. Contohnya:

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszHelpFilePath);
//Change the name of the .HLP file.
//The CWinApp destructor will free the memory.
m_pszHelpFilePath = _tcsdup(_T("c:\\somedir\\myhelp.hlp"));

CWinApp::m_pszProfileName

Berisi nama aplikasi . File INI.

LPCTSTR m_pszProfileName;

Keterangan

m_pszProfileName adalah variabel publik dari jenis karakter* const.

Catatan

Jika Anda menetapkan nilai ke m_pszProfileName, nilai harus dialokasikan secara dinamis pada timbunan. CWinApp Destruktor memanggil free( ) dengan pointer ini. Anda banyak yang ingin menggunakan _tcsdupfungsi pustaka run-time ( ) untuk melakukan alokasi. Selain itu, bebaskan memori yang terkait dengan pointer saat ini sebelum menetapkan nilai baru. Contohnya:

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszProfileName);
//Change the name of the .INI file.
//The CWinApp destructor will free the memory.
m_pszProfileName = _tcsdup(_T("c:\\somedir\\myini.ini"));

CWinApp::m_pszRegistryKey

Digunakan untuk menentukan di mana, dalam file registri atau INI, pengaturan profil aplikasi disimpan.

LPCTSTR m_pszRegistryKey;

Keterangan

Biasanya, anggota data ini diperlakukan sebagai baca-saja.

  • Nilai disimpan ke kunci registri. Nama untuk pengaturan profil aplikasi ditambahkan ke kunci registri berikut: HKEY_CURRENT_USER/Software/LocalAppWizard-Generated/.

Jika Anda menetapkan nilai ke m_pszRegistryKey, nilai harus dialokasikan secara dinamis pada timbunan. CWinApp Destruktor memanggil free( ) dengan pointer ini. Anda banyak yang ingin menggunakan _tcsdupfungsi pustaka run-time ( ) untuk melakukan alokasi. Selain itu, bebaskan memori yang terkait dengan pointer saat ini sebelum menetapkan nilai baru. Contohnya:

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszRegistryKey);
//Change the name of the registry key.
//The CWinApp destructor will free the memory.
m_pszRegistryKey = _tcsdup(
    _T("HKEY_CURRENT_USER\\Software\\mycompany\\myapp\\thissection\\thisvalue"));

CWinApp::m_pszAppID

ID Model Pengguna Aplikasi.

LPCTSTR m_pszAppID;

Keterangan

CWinApp::OnContextHelp

Menangani Bantuan SHIFT+F1 dalam aplikasi.

afx_msg void OnContextHelp();

Keterangan

Anda harus menambahkan ON_COMMAND( ID_CONTEXT_HELP, OnContextHelp ) pernyataan ke peta pesan kelas Anda CWinApp dan juga menambahkan entri tabel akselerator, biasanya SHIFT+F1, untuk mengaktifkan fungsi anggota ini.

OnContextHelp menempatkan aplikasi ke dalam mode Bantuan. Kursor berubah menjadi panah dan tanda tanya, dan pengguna kemudian dapat memindahkan penunjuk mouse dan menekan tombol mouse kiri untuk memilih kotak dialog, jendela, menu, atau tombol perintah. Fungsi anggota ini mengambil konteks Bantuan objek di bawah kursor dan memanggil fungsi Windows WinHelp dengan konteks Bantuan tersebut.

CWinApp::OnDDECommand

Dipanggil oleh kerangka kerja ketika jendela bingkai utama menerima pesan eksekusi DDE.

virtual BOOL OnDDECommand(LPTSTR lpszCommand);

Parameter

lpszCommand
Menunjuk ke string perintah DDE yang diterima oleh aplikasi.

Tampilkan Nilai

Bukan nol jika perintah ditangani; jika tidak, 0.

Keterangan

Implementasi default memeriksa apakah perintah adalah permintaan untuk membuka dokumen dan, jika demikian, membuka dokumen yang ditentukan. Windows File Manager biasanya mengirim string perintah DDE tersebut ketika pengguna mengklik dua kali file data. Ambil alih fungsi ini untuk menangani perintah eksekusi DDE lainnya, seperti perintah yang akan dicetak.

Contoh

BOOL CMyApp::OnDDECommand(LPTSTR lpszCommand)
{
   if (CWinApp::OnDDECommand(lpszCommand))
      return TRUE;

   // Handle any DDE commands recognized by your application
   // and return TRUE.  See implementation of CWinApp::OnDDEComand
   // for example of parsing the DDE command string.

   // Return FALSE for any DDE commands you do not handle.
   return FALSE;
}

CWinApp::OnFileNew

Menerapkan perintah ID_FILE_NEW.

afx_msg void OnFileNew();

Keterangan

Anda harus menambahkan ON_COMMAND( ID_FILE_NEW, OnFileNew ) pernyataan ke peta pesan kelas Anda CWinApp untuk mengaktifkan fungsi anggota ini. Jika diaktifkan, fungsi ini menangani eksekusi perintah File Baru.

Lihat Catatan Teknis 22 untuk informasi tentang perilaku default dan panduan tentang cara mengambil alih fungsi anggota ini.

Contoh

// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

 

// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()

CWinApp::OnFileOpen

Menerapkan perintah ID_FILE_OPEN.

afx_msg void OnFileOpen();

Keterangan

Anda harus menambahkan ON_COMMAND( ID_FILE_OPEN, OnFileOpen ) pernyataan ke peta pesan kelas Anda CWinApp untuk mengaktifkan fungsi anggota ini. Jika diaktifkan, fungsi ini menangani eksekusi perintah Buka File.

Untuk informasi tentang perilaku default dan panduan tentang cara mengambil alih fungsi anggota ini, lihat Catatan Teknis 22.

Contoh

// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

 

// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()

CWinApp::OnFilePrintSetup

Menerapkan perintah ID_FILE_PRINT_SETUP.

afx_msg void OnFilePrintSetup();

Keterangan

Anda harus menambahkan ON_COMMAND( ID_FILE_PRINT_SETUP, OnFilePrintSetup ) pernyataan ke peta pesan kelas Anda CWinApp untuk mengaktifkan fungsi anggota ini. Jika diaktifkan, fungsi ini menangani eksekusi perintah Cetak File.

Untuk informasi tentang perilaku default dan panduan tentang cara mengambil alih fungsi anggota ini, lihat Catatan Teknis 22.

Contoh

// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

 

// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()

CWinApp::OnHelp

Menangani Bantuan F1 dalam aplikasi (menggunakan konteks saat ini).

afx_msg void OnHelp();

Keterangan

Biasanya Anda juga akan menambahkan entri kunci akselerator untuk kunci F1. Mengaktifkan kunci F1 hanyalah konvensi, bukan persyaratan.

Anda harus menambahkan ON_COMMAND( ID_HELP, OnHelp ) pernyataan ke peta pesan kelas Anda CWinApp untuk mengaktifkan fungsi anggota ini. Jika diaktifkan, dipanggil oleh kerangka kerja saat pengguna menekan tombol F1.

Implementasi default fungsi message-handler ini menentukan konteks Bantuan yang sesuai dengan jendela, kotak dialog, atau item menu saat ini lalu memanggil WINHELP.EXE. Jika saat ini tidak ada konteks yang tersedia, fungsi menggunakan konteks default.

Ambil alih fungsi anggota ini untuk mengatur konteks Bantuan ke sesuatu selain jendela, kotak dialog, item menu, atau tombol toolbar yang saat ini memiliki fokus. Panggil WinHelp dengan ID konteks Bantuan yang diinginkan.

CWinApp::OnHelpFinder

Menangani perintah ID_HELP_FINDER dan ID_DEFAULT_HELP.

afx_msg void OnHelpFinder();

Keterangan

Anda harus menambahkan ON_COMMAND( ID_HELP_FINDER, OnHelpFinder ) pernyataan ke peta pesan kelas Anda CWinApp untuk mengaktifkan fungsi anggota ini. Jika diaktifkan, kerangka kerja memanggil fungsi penanganan pesan ini saat pengguna aplikasi Anda memilih perintah Help Finder untuk dipanggil WinHelp dengan topik HELP_FINDER standar.

CWinApp::OnHelpIndex

Menangani perintah ID_HELP_INDEX dan menyediakan topik Bantuan default.

afx_msg void OnHelpIndex();

Keterangan

Anda harus menambahkan ON_COMMAND( ID_HELP_INDEX, OnHelpIndex ) pernyataan ke peta pesan kelas Anda CWinApp untuk mengaktifkan fungsi anggota ini. Jika diaktifkan, kerangka kerja memanggil fungsi pengelola pesan ini saat pengguna aplikasi Anda memilih perintah Indeks Bantuan untuk dipanggil WinHelp dengan topik HELP_INDEX standar.

CWinApp::OnHelpUsing

Menangani perintah ID_HELP_USING.

afx_msg void OnHelpUsing();

Keterangan

Anda harus menambahkan ON_COMMAND( ID_HELP_USING, OnHelpUsing ) pernyataan ke peta pesan kelas Anda CWinApp untuk mengaktifkan fungsi anggota ini. Kerangka kerja memanggil fungsi message-handler ini saat pengguna aplikasi Anda memilih perintah Bantuan Menggunakan untuk memanggil WinHelp aplikasi dengan topik HELP_HELPONHELP standar.

CWinApp::OnIdle

Ambil alih fungsi anggota ini untuk melakukan pemrosesan waktu diam.

virtual BOOL OnIdle(LONG lCount);

Parameter

lCount
Penghitung bertahap setiap kali OnIdle dipanggil ketika antrean pesan aplikasi kosong. Jumlah ini diatur ulang ke 0 setiap kali pesan baru diproses. Anda dapat menggunakan parameter lCount untuk menentukan lamanya waktu relatif aplikasi diam tanpa memproses pesan.

Tampilkan Nilai

Nonzero untuk menerima lebih banyak waktu pemrosesan diam; 0 jika tidak ada lagi waktu menganggur yang diperlukan.

Keterangan

OnIdle dipanggil dalam perulangan pesan default ketika antrean pesan aplikasi kosong. Gunakan penimpaan Anda untuk memanggil tugas pengatur diam latar belakang Anda sendiri.

OnIdle harus mengembalikan 0 untuk menunjukkan bahwa tidak ada waktu pemrosesan diam yang diperlukan. Parameter lCount bertahap setiap kali OnIdle dipanggil ketika antrean pesan kosong dan direset ke 0 setiap kali pesan baru diproses. Anda dapat memanggil rutinitas menganggur yang berbeda berdasarkan jumlah ini.

Berikut ini meringkas pemrosesan perulangan diam:

  1. Jika perulangan pesan di Pustaka Kelas Microsoft Foundation memeriksa antrean pesan dan tidak menemukan pesan yang tertunda, pesan tersebut memanggil OnIdle objek aplikasi dan menyediakan 0 sebagai argumen lCount .

  2. OnIdle melakukan beberapa pemrosesan dan mengembalikan nilai bukan nol untuk menunjukkan bahwa nilai tersebut harus dipanggil lagi untuk melakukan pemrosesan lebih lanjut.

  3. Perulangan pesan memeriksa antrean pesan lagi. Jika tidak ada pesan yang tertunda, pesan akan memanggil OnIdle lagi, meningkatkan argumen lCount .

  4. Akhirnya, OnIdle selesai memproses semua tugas diamnya dan mengembalikan 0. Ini memberi tahu perulangan pesan untuk berhenti memanggil OnIdle hingga pesan berikutnya diterima dari antrean pesan, di mana siklus menganggur dimulai ulang dengan argumen diatur ke 0.

Jangan lakukan tugas panjang selama karena OnIdle aplikasi Anda tidak dapat memproses input pengguna hingga OnIdle kembali.

Catatan

Implementasi OnIdle default objek antarmuka pengguna perintah pembaruan seperti item menu dan tombol toolbar, dan melakukan pembersihan struktur data internal. Oleh karena itu, jika Anda mengambil alih OnIdle, Anda harus memanggil CWinApp::OnIdle dengan lCount dalam versi yang ditimpa. Pertama-tama panggil semua pemrosesan diam kelas dasar (yaitu, sampai kelas OnIdle dasar mengembalikan 0). Jika Anda perlu melakukan pekerjaan sebelum pemrosesan kelas dasar selesai, tinjau implementasi kelas dasar untuk memilih lCount yang tepat untuk melakukan pekerjaan Anda.

Jika Anda tidak ingin OnIdle dipanggil setiap kali pesan diambil dari antrean pesan, Anda dapat mengambil alih CWinThreadIsIdleMessage. Jika aplikasi telah menetapkan timer yang sangat singkat, atau jika sistem mengirim pesan WM_SYSTIMER, maka OnIdle akan dipanggil berulang kali, dan menurunkan performa.

Contoh

Dua contoh berikut menunjukkan cara menggunakan OnIdle. Contoh pertama memproses dua tugas menganggur menggunakan argumen lCount untuk memprioritaskan tugas. Tugas pertama adalah prioritas tinggi, dan Anda harus melakukannya jika memungkinkan. Tugas kedua kurang penting dan harus dilakukan hanya ketika ada jeda panjang dalam input pengguna. Perhatikan panggilan ke versi kelas dasar .OnIdle Contoh kedua mengelola sekelompok tugas diam dengan prioritas yang berbeda.

BOOL CMyApp::OnIdle(LONG lCount)
{
   BOOL bMore = CWinApp::OnIdle(lCount);

   if (lCount == 0)
   {
      TRACE(_T("App idle for short period of time\n"));
      bMore = TRUE;
   }
   else if (lCount == 10)
   {
      TRACE(_T("App idle for longer amount of time\n"));
      bMore = TRUE;
   }
   else if (lCount == 100)
   {
      TRACE(_T("App idle for even longer amount of time\n"));
      bMore = TRUE;
   }
   else if (lCount == 1000)
   {
      TRACE(_T("App idle for quite a long period of time\n"));
      // bMore is not set to TRUE, no longer need idle
      // IMPORTANT: bMore is not set to FALSE since CWinApp::OnIdle may
      // have more idle tasks to complete.
   }

   return bMore;
   // return TRUE as long as there are any more idle tasks
}

CWinApp::OpenDocumentFile

Kerangka kerja memanggil metode ini untuk membuka file CDocument bernama untuk aplikasi.

virtual CDocument* OpenDocumentFile(
    LPCTSTR lpszFileName
    BOOL bAddToMRU = TRUE);

Parameter

lpszFileName
[in] Nama file yang akan dibuka.

bAddToMRU
[di] TRUE menunjukkan dokumen adalah salah satu file terbaru; FALSE menunjukkan dokumen bukan salah satu file terbaru.

Tampilkan Nilai

Penunjuk ke CDocument jika berhasil; jika tidak, NULL.

Keterangan

Jika dokumen yang memiliki nama tersebut sudah terbuka, jendela bingkai pertama yang berisi dokumen tersebut akan mendapatkan fokus. Jika aplikasi mendukung beberapa templat dokumen, kerangka kerja menggunakan ekstensi nama file untuk menemukan templat dokumen yang sesuai untuk mencoba memuat dokumen. Jika berhasil, templat dokumen kemudian membuat jendela bingkai dan tampilan untuk dokumen.

Contoh

if (m_lpCmdLine[0] == _T('\0'))
{
   // Create a new (empty) document.
   OnFileNew();
}
else
{
   // Open a file passed as the first command line parameter.
   OpenDocumentFile(m_lpCmdLine);
}

CWinApp::P arseCommandLine

Panggil fungsi anggota ini untuk mengurai baris perintah dan mengirim parameter, satu per satu, ke CCommandLineInfo::P arseParam.

void ParseCommandLine(CCommandLineInfo& rCmdInfo);

Parameter

rCmdInfo
Referensi ke objek CCommandLineInfo .

Keterangan

Saat Anda memulai proyek MFC baru menggunakan Panduan Aplikasi, Wizard Aplikasi akan membuat instans CCommandLineInfolokal , lalu memanggil ProcessShellCommand dan ParseCommandLine dalam fungsi anggota InitInstance . Baris perintah mengikuti rute yang dijelaskan di bawah ini:

  1. Setelah dibuat di InitInstance, CCommandLineInfo objek diteruskan ke ParseCommandLine.

  2. ParseCommandLine kemudian memanggil CCommandLineInfo::ParseParam berulang kali, sekali untuk setiap parameter.

  3. ParseParamCCommandLineInfo mengisi objek, yang kemudian diteruskan ke ProcessShellCommand.

  4. ProcessShellCommand menangani argumen dan bendera baris perintah.

Perhatikan bahwa Anda dapat memanggil ParseCommandLine langsung sesuai kebutuhan.

Untuk deskripsi bendera baris perintah, lihat CCommandLineInfo::m_nShellCommand.

CWinApp::P reTranslateMessage

Ambil alih fungsi ini untuk memfilter pesan jendela sebelum dikirim ke fungsi Windows TranslateMessage dan DispatchMessage Implementasi default melakukan terjemahan kunci akselerator, jadi Anda harus memanggil CWinApp::PreTranslateMessage fungsi anggota dalam versi yang ditimpa.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parameter

pMsg
Penunjuk ke struktur MSG yang berisi pesan untuk diproses.

Tampilkan Nilai

Bukan nol jika pesan sepenuhnya diproses dan tidak boleh diproses PreTranslateMessage lebih lanjut. Nol jika pesan harus diproses dengan cara normal.

CWinApp::P rocessMessageFilter

Fungsi hook kerangka kerja memanggil fungsi anggota ini untuk memfilter dan merespons pesan Windows tertentu.

virtual BOOL ProcessMessageFilter(
    int code,
    LPMSG lpMsg);

Parameter

code
Menentukan kode kait. Fungsi anggota ini menggunakan kode untuk menentukan cara memproses lpMsg.

lpMsg
Penunjuk ke struktur MSGWindows.

Tampilkan Nilai

Bukan nol jika pesan diproses; jika tidak, 0.

Keterangan

Fungsi kait memproses peristiwa sebelum dikirim ke pemrosesan pesan normal aplikasi.

Jika Anda mengambil alih fitur lanjutan ini, pastikan untuk memanggil versi kelas dasar untuk mempertahankan pemrosesan kait kerangka kerja.

CWinApp::P rocessShellCommand

Fungsi anggota ini dipanggil oleh InitInstance untuk menerima parameter yang diteruskan dari objek yang CCommandLineInfo diidentifikasi oleh rCmdInfo, dan melakukan tindakan yang ditunjukkan.

BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);

Parameter

rCmdInfo
Referensi ke objek CCommandLineInfo .

Tampilkan Nilai

Bukan nol jika perintah shell berhasil diproses. Jika 0, kembalikan FALSE dari InitInstance.

Keterangan

Saat Anda memulai proyek MFC baru menggunakan Panduan Aplikasi, Wizard Aplikasi akan membuat instans CCommandLineInfolokal , lalu memanggil ProcessShellCommand dan ParseCommandLine dalam InitInstance fungsi anggota. Baris perintah mengikuti rute yang dijelaskan di bawah ini:

  1. Setelah dibuat di InitInstance, CCommandLineInfo objek diteruskan ke ParseCommandLine.

  2. ParseCommandLine kemudian memanggil CCommandLineInfo::P arseParam berulang kali, sekali untuk setiap parameter.

  3. ParseParamCCommandLineInfo mengisi objek, yang kemudian diteruskan ke ProcessShellCommand.

  4. ProcessShellCommand menangani argumen dan bendera baris perintah.

Anggota CCommandLineInfo data objek, yang diidentifikasi oleh CCommandLineInfo::m_nShellCommand, adalah jenis enumerasi berikut, yang ditentukan dalam CCommandLineInfo kelas.

enum {
    FileNew,
    FileOpen,
    FilePrint,
    FilePrintTo,
    FileDDE
    };

Untuk deskripsi singkat tentang masing-masing nilai ini, lihat CCommandLineInfo::m_nShellCommand.

CWinApp::P rocessWndProcException

Kerangka kerja memanggil fungsi anggota ini setiap kali handler tidak menangkap pengecualian yang dilemparkan dalam salah satu pesan aplikasi atau penangan perintah Anda.

virtual LRESULT ProcessWndProcException(
    CException* e,
    const MSG* pMsg);

Parameter

e
Penunjuk ke pengecualian yang tidak tertangkap.

pMsg
Struktur MSGyang berisi informasi tentang pesan windows yang menyebabkan kerangka kerja melemparkan pengecualian.

Tampilkan Nilai

Nilai yang harus dikembalikan ke Windows. Biasanya ini adalah 0L untuk pesan windows, 1L ( TRUE) untuk pesan perintah.

Keterangan

Jangan panggil fungsi anggota ini secara langsung.

Implementasi default fungsi anggota ini membuat kotak pesan. Jika pengecualian yang tidak tertangkap berasal dari kegagalan perintah menu, toolbar, atau akselerator, kotak pesan menampilkan pesan "Perintah gagal"; jika tidak, ini menampilkan pesan "Kesalahan aplikasi internal".

Ambil alih fungsi anggota ini untuk memberikan penanganan global atas pengecualian Anda. Hanya panggil fungsionalitas dasar jika Anda ingin kotak pesan ditampilkan.

CWinApp::Register

Melakukan tugas pendaftaran apa pun yang tidak ditangani oleh RegisterShellFileTypes.

virtual BOOL Register();

Tampilkan Nilai

Nonzero pada kesuksesan; jika tidak, 0.

Keterangan

Implementasi default hanya mengembalikan TRUE. Ambil alih fungsi ini untuk menyediakan langkah-langkah pendaftaran yang disesuaikan.

CWinApp::RegisterShellFileTypes

Panggil fungsi anggota ini untuk mendaftarkan semua jenis dokumen aplikasi Anda dengan Windows File Manager.

void RegisterShellFileTypes(BOOL bCompat = FALSE);

Parameter

bCompat
[di] TRUE menambahkan entri pendaftaran untuk perintah shell Cetak dan Cetak Ke, yang memungkinkan pengguna mencetak file langsung dari shell, atau dengan menyeret file ke objek printer. Ini juga menambahkan kunci DefaultIcon. Secara default, parameter ini FALSE untuk kompatibilitas mundur.

Keterangan

Ini memungkinkan pengguna untuk membuka file data yang dibuat oleh aplikasi Anda dengan mengklik dua kali dari dalam File Manager. Panggil RegisterShellFileTypes setelah Anda memanggil AddDocTemplate untuk setiap templat dokumen di aplikasi Anda. Panggil juga fungsi anggota EnableShellOpen saat Anda memanggil RegisterShellFileTypes.

RegisterShellFileTypes melakukan iterasi melalui daftar objek CDocTemplate yang dikelola aplikasi dan, untuk setiap templat dokumen, menambahkan entri ke database pendaftaran yang dikelola Windows untuk asosiasi file. Manajer File menggunakan entri ini untuk membuka file data saat pengguna mengklik dua kali. Ini menghilangkan kebutuhan untuk mengirim . File REG dengan aplikasi Anda.

Catatan

RegisterShellFileTypes hanya berfungsi jika pengguna menjalankan program dengan hak administrator. Jika program tidak memiliki hak administrator, program tidak dapat mengubah kunci registri.

Jika database pendaftaran sudah mengaitkan ekstensi nama file tertentu dengan jenis file lain, tidak ada asosiasi baru yang dibuat. CDocTemplate Lihat kelas untuk format string yang diperlukan untuk mendaftarkan informasi ini.

CWinApp::RegisterWithRestartManager

Mendaftarkan aplikasi dengan manajer hidupkan ulang.

virtual HRESULT RegisterWithRestartManager(
    BOOL bRegisterRecoveryCallback,
    const CString& strRestartIdentifier);

virtual HRESULT RegisterWithRestartManager(
    LPCWSTR pwzCommandLineArgs,
    DWORD dwRestartFlags,
    APPLICATION_RECOVERY_CALLBACK pRecoveryCallback,
    LPVOID lpvParam,
    DWORD dwPingInterval,
    DWORD dwCallbackFlags);

Parameter

bRegisterRecoveryCallback
[di] TRUE menunjukkan bahwa instans aplikasi ini menggunakan fungsi panggilan balik pemulihan; FALSE menunjukkan bahwa itu tidak. Kerangka kerja memanggil fungsi panggilan balik pemulihan ketika aplikasi keluar secara tak terduga. Untuk informasi selengkapnya, lihat CWinApp::ApplicationRecoveryCallback.

strRestartIdentifier
[di] String unik yang mengidentifikasi instans manajer hidupkan ulang ini. Pengidentifikasi restart manager unik untuk setiap instans aplikasi.

pwzCommandLineArgs
[di] String yang berisi argumen tambahan dari baris perintah.

dwRestartFlags
[di] Bendera opsional untuk manajer hidupkan ulang. Untuk informasi lebih lanjut, lihat bagian Keterangan.

pRecoveryCallback
[di] Fungsi panggilan balik pemulihan. Fungsi ini harus mengambil parameter LPVOID sebagai input dan mengembalikan DWORD. Fungsi panggilan balik pemulihan default adalah CWinApp::ApplicationRecoveryCallback.

lpvParam
[di] Parameter input untuk fungsi panggilan balik pemulihan. Untuk informasi selengkapnya, lihat CWinApp::ApplicationRecoveryCallback.

dwPingInterval
[di] Lamanya waktu manajer hidupkan ulang menunggu fungsi panggilan balik pemulihan kembali. Parameter ini dalam milidetik.

dwCallbackFlags
[di] Bendera diteruskan ke fungsi panggilan balik pemulihan. Disiapkan untuk penggunaan masa mendatang.

Tampilkan Nilai

S_OK jika metode berhasil; jika tidak, kode kesalahan.

Keterangan

Jika aplikasi Anda menggunakan implementasi MFC default untuk menyimpan file secara otomatis, Anda harus menggunakan versi sederhana .RegisterWithRestartManager Gunakan versi RegisterWithRestartManager kompleks jika Anda ingin menyesuaikan perilaku simpan otomatis aplikasi Anda.

Jika Anda memanggil metode ini dengan string kosong untuk strRestartIdentifier, RegisterWithRestartManager membuat string pengidentifikasi unik untuk instans manajer hidupkan ulang ini.

Ketika aplikasi keluar secara tak terduga, manajer hidupkan ulang memulai ulang aplikasi dari baris perintah dan menyediakan pengidentifikasi hidupkan ulang unik sebagai argumen opsional. Dalam skenario ini, kerangka kerja memanggil RegisterWithRestartManager dua kali. Panggilan pertama berasal dari CWinApp::InitInstance dengan string kosong untuk pengidentifikasi string. Kemudian, metode panggilan RegisterWithRestartManager CWinApp::P rocessShellCommand dengan pengidentifikasi hidupkan ulang unik.

Setelah Anda mendaftarkan aplikasi dengan manajer hidupkan ulang, manajer hidupkan ulang memantau aplikasi. Jika aplikasi keluar secara tak terduga, manajer mulai ulang memanggil fungsi panggilan balik pemulihan selama proses matikan. Manajer mulai ulang menunggu dwPingInterval untuk respons dari fungsi panggilan balik pemulihan. Jika fungsi panggilan balik pemulihan tidak merespons dalam waktu ini, aplikasi keluar tanpa menjalankan fungsi panggilan balik pemulihan.

Secara default, dwRestartFlags tidak didukung tetapi disediakan untuk digunakan di masa mendatang. Nilai yang mungkin untuk dwRestartFlags adalah sebagai berikut:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::ReopenPreviousFilesAtRestart

Menentukan apakah manajer mulai ulang membuka kembali file yang terbuka ketika aplikasi keluar secara tak terduga.

virtual BOOL ReopenPreviousFilesAtRestart() const;

Tampilkan Nilai

TRUE menunjukkan manajer hidupkan ulang membuka kembali file yang dibuka sebelumnya; FALSE menunjukkan bahwa manajer hidupkan ulang tidak.

CWinApp::RestartInstance

Menangani menghidupkan ulang aplikasi yang dimulai oleh manajer hidupkan ulang.

virtual BOOL CWinApp::RestartInstance();

Tampilkan Nilai

TRUE jika handler pemulihan data membuka dokumen yang sebelumnya terbuka; FALSE jika handler pemulihan data memiliki kesalahan atau jika sebelumnya tidak ada dokumen yang terbuka.

Keterangan

Saat manajer mulai ulang memulai ulang aplikasi, kerangka kerja memanggil metode ini. Metode ini mengambil penanganan pemulihan data dan memulihkan file yang disimpan secara otomatis. Metode ini memanggil CDataRecoveryHandler::RestoreAutosavedDocuments untuk menentukan apakah pengguna ingin memulihkan file yang disimpan otomatis.

Metode ini mengembalikan FALSE jika CDataRecoveryHandler menentukan bahwa tidak ada dokumen yang terbuka. Jika tidak ada dokumen yang terbuka, aplikasi biasanya dimulai.

CWinApp::RestoreAutosavedFilesAtRestart

Menentukan apakah manajer hidupkan ulang memulihkan file yang disimpan otomatis saat memulai ulang aplikasi.

virtual BOOL RestoreAutosavedFilesAtRestart() const;

Tampilkan Nilai

TRUE menunjukkan manajer hidupkan ulang memulihkan file yang disimpan otomatis; FALSE menunjukkan bahwa manajer hidupkan ulang tidak.

CWinApp::Jalankan

Menyediakan perulangan pesan default.

virtual int Run();

Tampilkan Nilai

Nilai int yang dikembalikan oleh WinMain.

Keterangan

Run memperoleh dan mengirimkan pesan Windows hingga aplikasi menerima pesan WM_QUIT. Jika antrean pesan aplikasi saat ini tidak berisi pesan, Run memanggil OnIdle untuk melakukan pemrosesan waktu diam. Pesan masuk masuk masuk ke fungsi anggota PreTranslateMessage untuk pemrosesan khusus dan kemudian ke fungsi TranslateMessage Windows untuk terjemahan keyboard standar; akhirnya, DispatchMessage fungsi Windows dipanggil.

Run jarang ditimpa, tetapi Anda dapat mengambil alihnya untuk memberikan perilaku khusus.

CWinApp::RunAutomated

Panggil fungsi ini untuk menentukan apakah opsi " /Automation" atau " -Automation" ada, yang menunjukkan apakah aplikasi server diluncurkan oleh aplikasi klien.

BOOL RunAutomated();

Tampilkan Nilai

Bukan nol jika opsi ditemukan; jika tidak, 0.

Keterangan

Jika ada, opsi dihapus dari baris perintah. Untuk informasi selengkapnya tentang Otomatisasi OLE, lihat artikel Server Automation.

CWinApp::RunEmbedded

Panggil fungsi ini untuk menentukan apakah opsi " /Embedding" atau " -Embedding" ada, yang menunjukkan apakah aplikasi server diluncurkan oleh aplikasi klien.

BOOL RunEmbedded();

Tampilkan Nilai

Bukan nol jika opsi ditemukan; jika tidak, 0.

Keterangan

Jika ada, opsi dihapus dari baris perintah. Untuk informasi selengkapnya tentang penyematan, lihat artikel Server: Menerapkan Server.

CWinApp::SaveAllModified

Dipanggil oleh kerangka kerja untuk menyimpan semua dokumen ketika jendela bingkai utama aplikasi akan ditutup, atau melalui pesan WM_QUERYENDSESSION.

virtual BOOL SaveAllModified();

Tampilkan Nilai

Nonzero jika aman untuk mengakhiri aplikasi; 0 jika tidak aman untuk mengakhiri aplikasi.

Keterangan

Implementasi default fungsi anggota ini memanggil fungsi anggota CDocument::SaveModified pada gilirannya untuk semua dokumen yang dimodifikasi dalam aplikasi.

CWinApp::SelectPrinter

Panggil fungsi anggota ini untuk memilih printer tertentu, dan lepaskan printer yang sebelumnya dipilih dalam kotak Dialog Cetak.

void SelectPrinter(
    HANDLE hDevNames,
    HANDLE hDevMode,
    BOOL bFreeOld = TRUE);

Parameter

hDevNames
Handel ke struktur DEVNAMESyang mengidentifikasi nama port driver, perangkat, dan output printer tertentu.

hDevMode
Handel ke struktur DEVMODE yang menentukan informasi tentang inisialisasi perangkat dan lingkungan printer.

bFreeOld
Membebaskan pencetak yang dipilih sebelumnya.

Keterangan

Jika hDevMode dan hDevName adalah NULL, SelectPrinter gunakan printer default saat ini.

CWinApp::SetHelpMode

Mengatur jenis bantuan aplikasi.

void SetHelpMode(AFX_HELP_TYPE eHelpType);

Parameter

eHelpType
Menentukan jenis bantuan yang akan digunakan. Lihat CWinApp::m_eHelpType untuk informasi selengkapnya.

Keterangan

Mengatur jenis Bantuan aplikasi.

Untuk mengatur jenis Bantuan aplikasi Anda ke HTMLHelp, Anda dapat memanggil EnableHTMLHelp. Setelah Anda memanggil EnableHTMLHelp, aplikasi Anda harus menggunakan HTMLHelp sebagai aplikasi bantuannya. Jika Anda ingin mengubah untuk menggunakan WinHelp, Anda dapat memanggil SetHelpMode dan mengatur eHelpType ke afxWinHelp.

CWinApp::SetRegistryKey

Menyebabkan pengaturan aplikasi disimpan dalam registri alih-alih file INI.

void SetRegistryKey(LPCTSTR lpszRegistryKey);
void SetRegistryKey(UINT nIDRegistryKey);

Parameter

lpszRegistryKey
Penunjuk ke string yang berisi nama kunci.

nIDRegistryKey
ID sumber daya string yang berisi nama kunci registri.

Keterangan

Fungsi ini mengatur m_pszRegistryKey, yang kemudian digunakan oleh GetProfileIntfungsi anggota , , WriteProfileIntGetProfileString, dan WriteProfileString dari CWinApp. Jika fungsi ini telah dipanggil, daftar file yang terakhir digunakan (MRU) juga disimpan dalam registri. Kunci registri biasanya adalah nama perusahaan. Ini disimpan dalam kunci formulir berikut: HKEY_CURRENT_USER\Software\<company name>\<application name>\<section name>\<value name>.

CWinApp::SupportsApplicationRecovery

Menentukan apakah manajer hidupkan ulang memulihkan aplikasi yang keluar secara tak terduga.

virtual BOOL SupportsApplicationRecovery() const;

Tampilkan Nilai

TRUE menunjukkan bahwa manajer hidupkan ulang memulihkan aplikasi; FALSE menunjukkan bahwa manajer hidupkan ulang tidak.

CWinApp::SupportsAutosaveAtInterval

Menentukan apakah manajer hidupkan ulang otomatis membuka dokumen secara berkala.

virtual BOOL SupportsAutosaveAtInterval() const;

Tampilkan Nilai

TRUE menunjukkan manajer hidupkan ulang simpan otomatis dokumen yang terbuka; FALSE menunjukkan bahwa manajer hidupkan ulang tidak.

CWinApp::SupportsAutosaveAtRestart

Menentukan apakah manajer hidupkan ulang otomatis simpan dokumen yang terbuka saat aplikasi dimulai ulang.

virtual BOOL SupportsAutosaveAtRestart() const;

Tampilkan Nilai

TRUE menunjukkan manajer hidupkan ulang simpan otomatis dokumen yang terbuka saat aplikasi dimulai ulang; FALSE menunjukkan bahwa manajer hidupkan ulang tidak.

CWinApp::SupportsRestartManager

Menentukan apakah aplikasi mendukung manajer hidupkan ulang.

virtual BOOL SupportsRestartManager() const;

Tampilkan Nilai

TRUE menunjukkan aplikasi mendukung manajer hidupkan ulang; FALSE menunjukkan bahwa aplikasi tidak.

CWinApp::Batalkan pendaftaran

Membatalkan pendaftaran semua file yang didaftarkan oleh objek aplikasi.

virtual BOOL Unregister();

Tampilkan Nilai

Nonzero pada kesuksesan; jika tidak, 0.

Keterangan

Fungsi membatalkan Unregister pendaftaran yang dilakukan oleh objek aplikasi dan fungsi Register . Biasanya, kedua fungsi dipanggil secara implisit oleh MFC dan oleh karena itu tidak akan muncul dalam kode Anda.

Ambil alih fungsi ini untuk melakukan langkah-langkah unregistrasi kustom.

CWinApp::UnregisterShellFileTypes

Panggil fungsi anggota ini untuk membatalkan pendaftaran semua jenis dokumen aplikasi Anda dengan Windows File Manager.

void UnregisterShellFileTypes();

CWinApp::WinHelp

Panggil fungsi anggota ini untuk memanggil aplikasi WinHelp.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Parameter

dwData
Menentukan data tambahan. Nilai yang digunakan tergantung pada nilai parameter nCmd .

nCmd
Menentukan jenis bantuan yang diminta. Untuk daftar nilai yang mungkin dan pengaruhnya terhadap parameter dwData , lihat fungsi Windows WinHelp .

Keterangan

Kerangka kerja ini juga memanggil fungsi ini untuk memanggil aplikasi WinHelp.

Kerangka kerja akan secara otomatis menutup aplikasi WinHelp saat aplikasi Anda berakhir.

Contoh

// Header File: HELPIDS.H
//
// This example header file is #include'd twice:
// (1) It is #include'd by the .CPP file that passes the DWORD
//     context i.d. to CWinApp::WinHelp.
// (2) It is #include'd in the [MAP] section of the .HPJ file,
//     to associate the help context string "HID_MYTOPIC" with
//     the help context numeric i.d., 101.
// The help context string "HID_MYTOPIC" is what identifies the
// help topic in the help .RTF source file, in the "#" footnote:
//     # HID_MYTOPIC
//
// Note, it is not necessary to manage help context id's this way
// for help topics associated with command id's and user interface
// id's defined in your RESOURCE.H file; you should use the MAKEHM
// tool via the custom build rule on your resource.h file to produce
// a help map (.HM) file for these id's.  It is necessary to manage
// help context id's as illustrated here only for help topics not
// associated with command id's or user interface id's.

#define HID_MYTOPIC 101

// Show the custom help topic that has the context string
// "HID_MYTOPIC" in the help .RTF file, and which is mapped
// to the DWORD i.d. HID_MYTOPIC in the above HELPIDS.H file.
AfxGetApp()->WinHelp(HID_MYTOPIC);

// The following is one line of code in the help map (.HM)
// file produced by the MAKEHM tool, which is called by the custom
// build rule on the resource.h file.  The MAKEHM tool reads the
// following #define in the application's RESOURCE.H file:
#define ID_MYCOMMAND 0x08004
// and adds a help id offset value of 0x10000 to create the
// help context DWORD value 0x18004:
// HID_MYCOMMAND                           0x18004
// See MFC Tech Note 28 for more information on help id offset values.

// Rarely will you need to directly call WinHelp yourself
// with the help context i.d. for a command or user interface
// object. The framework will call WinHelp automatically when
// the user, for example, hits F1 when the focus is on a
// My Command menu item. However, if you do want to directly
// call WinHelp for the help topic associated with the command,
// here is how you would do it:

AfxGetApp()->WinHelp(0x10000 + ID_MYCOMMAND);

CWinApp::WriteProfileBinary

Panggil fungsi anggota ini untuk menulis data biner ke bagian yang ditentukan dari registri aplikasi atau . File INI.

BOOL WriteProfileBinary(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Parameter

lpszSection
Menunjuk ke string null-terminated yang menentukan bagian yang berisi entri. Jika bagian tidak ada, bagian tersebut dibuat. Nama bagian bersifat independen huruf besar/kecil; string mungkin kombinasi huruf besar dan huruf kecil.

lpszEntry
Menunjuk ke string null-terminated yang berisi entri tempat nilai akan ditulis. Jika entri tidak ada di bagian yang ditentukan, entri akan dibuat.

pData
Menunjuk ke data yang akan ditulis.

nByte
Berisi jumlah byte yang akan ditulis.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Contoh

Contoh ini menggunakan CWinApp* pApp = AfxGetApp(); untuk mendapatkan di kelas CWinApp yang mengilustrasikan cara yang WriteProfileBinary dan GetProfileBinary dapat digunakan dari fungsi apa pun dalam aplikasi MFC.

CWinApp *pApp = AfxGetApp();

CString strSection = _T("My Section");
CString strItem = _T("My Binary Item");
double myData = 123.456e12;

pApp->WriteProfileBinary(strSection, strItem, (LPBYTE)&myData, sizeof(myData));
double *pData;
UINT n;
pApp->GetProfileBinary(strSection, strItem, (LPBYTE*)&pData, &n);
ASSERT(n == sizeof(myData));
ASSERT(myData = *pData);
delete[] pData; // free the buffer

Untuk contoh lain, lihat contoh untuk CWinApp::GetProfileBinary.

CWinApp::WriteProfileInt

Panggil fungsi anggota ini untuk menulis nilai yang ditentukan ke bagian yang ditentukan dari registri aplikasi atau . File INI.

BOOL WriteProfileInt(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    int nValue);

Parameter

lpszSection
Menunjuk ke string null-terminated yang menentukan bagian yang berisi entri. Jika bagian tidak ada, bagian tersebut dibuat. Nama bagian bersifat independen huruf besar/kecil; string mungkin kombinasi huruf besar dan huruf kecil.

lpszEntry
Menunjuk ke string null-terminated yang berisi entri tempat nilai akan ditulis. Jika entri tidak ada di bagian yang ditentukan, entri akan dibuat.

nValue
Berisi nilai yang akan ditulis.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Contoh

Contoh ini menggunakan CWinApp* pApp = AfxGetApp(); untuk mendapatkan di kelas CWinApp yang mengilustrasikan cara bahwa WriteProfileString, , WriteProfileIntGetProfileString, dan GetProfileInt dapat digunakan dari fungsi apa pun dalam aplikasi MFC.

CWinApp *pApp = AfxGetApp();

CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");

pApp->WriteProfileString(strSection, strStringItem, _T("test"));

CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));

pApp->WriteProfileInt(strSection, strIntItem, 1234);

int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);

Untuk contoh lain, lihat contoh untuk CWinApp::GetProfileInt.

CWinApp::WriteProfileString

Panggil fungsi anggota ini untuk menulis string yang ditentukan ke bagian yang ditentukan dari registri aplikasi atau . File INI.

BOOL WriteProfileString(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Parameter

lpszSection
Menunjuk ke string null-terminated yang menentukan bagian yang berisi entri. Jika bagian tidak ada, bagian tersebut dibuat. Nama bagian bersifat independen huruf besar/kecil; string mungkin kombinasi huruf besar dan huruf kecil.

lpszEntry
Menunjuk ke string null-terminated yang berisi entri tempat nilai akan ditulis. Jika entri tidak ada di bagian yang ditentukan, entri akan dibuat. Jika parameter ini NULL, bagian yang ditentukan oleh lpszSection akan dihapus.

lpszValue
Menunjuk ke string yang akan ditulis. Jika parameter ini NULL, entri yang ditentukan oleh parameter lpszEntry akan dihapus.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Contoh

CWinApp *pApp = AfxGetApp();

CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");

pApp->WriteProfileString(strSection, strStringItem, _T("test"));

CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));

pApp->WriteProfileInt(strSection, strIntItem, 1234);

int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);

Untuk contoh lain, lihat contoh untuk CWinApp::GetProfileInt.

CWinApp::SetAppID

Secara eksplisit mengatur ID Model Pengguna Aplikasi untuk aplikasi. Metode ini harus dipanggil sebelum antarmuka pengguna disajikan kepada pengguna (tempat terbaik adalah konstruktor aplikasi).

void SetAppID(LPCTSTR lpcszAppID);

Parameter

lpcszAppID
Menentukan ID Model Pengguna Aplikasi.

Keterangan

Baca juga

Kelas CWinThread
Bagan Hierarki
Cara: Menambahkan Dukungan Restart Manager