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::LoadStdProfileSettings | 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, gunakanm_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.CWinApp
peran dalam urutan eksekusi aplikasi Anda.CWinApp
implementasi fungsi anggota default.CWinApp
Kunci 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
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 LoadStdProfileSettings 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
arus searah
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 CWinApp
untuk 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::LoadStdProfileSettings
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 tentukanafxWinHelp
.
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 _tcsdup
fungsi 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 _tcsdup
fungsi 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 _tcsdup
fungsi 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 _tcsdup
fungsi 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 _tcsdup
fungsi 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 penanganan pesan 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:
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 .OnIdle
melakukan beberapa pemrosesan dan mengembalikan nilai bukan nol untuk menunjukkan bahwa nilai tersebut harus dipanggil lagi untuk melakukan pemrosesan lebih lanjut.Perulangan pesan memeriksa antrean pesan lagi. Jika tidak ada pesan yang tertunda, pesan akan memanggil
OnIdle
lagi, meningkatkan argumen lCount .Akhirnya,
OnIdle
selesai memproses semua tugas diamnya dan mengembalikan 0. Ini memberi tahu perulangan pesan untuk berhenti memanggilOnIdle
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 CCommandLineInfo
lokal , lalu memanggil ProcessShellCommand
dan ParseCommandLine
dalam fungsi anggota InitInstance . Baris perintah mengikuti rute yang dijelaskan di bawah ini:
Setelah dibuat di
InitInstance
,CCommandLineInfo
objek diteruskan keParseCommandLine
.ParseCommandLine
kemudian memanggilCCommandLineInfo::ParseParam
berulang kali, sekali untuk setiap parameter.ParseParam
CCommandLineInfo
mengisi objek, yang kemudian diteruskan ke ProcessShellCommand.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 CCommandLineInfo
lokal , lalu memanggil ProcessShellCommand
dan ParseCommandLine dalam InitInstance
fungsi anggota. Baris perintah mengikuti rute yang dijelaskan di bawah ini:
Setelah dibuat di
InitInstance
,CCommandLineInfo
objek diteruskan keParseCommandLine
.ParseCommandLine
kemudian memanggil CCommandLineInfo::P arseParam berulang kali, sekali untuk setiap parameter.ParseParam
CCommandLineInfo
mengisi objek, yang kemudian diteruskan keProcessShellCommand
.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 RegisterWithRestartManager
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 GetProfileInt
fungsi anggota , , GetProfileString
WriteProfileInt
, 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
, , WriteProfileInt
GetProfileString
, 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
Lihat juga
Kelas CWinThread
Bagan Hierarki
Cara: Menambahkan Dukungan Restart Manager