Aracılığıyla paylaş


CWinApp Sınıfı

Bir Windows uygulama nesnesi türetdiğiniz temel sınıf.

Sözdizimi

class CWinApp : public CWinThread

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CWinApp::CWinApp Bir CWinApp nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CWinApp::AddDocTemplate Uygulamanın kullanılabilir belge şablonları listesine bir belge şablonu ekler.
CWinApp::AddToRecentFileList En son kullanılan (MRU) dosya listesine bir dosya adı ekler.
CWinApp::ApplicationRecoveryCallback Uygulama beklenmedik bir şekilde çıktığında çerçeve tarafından çağrılır.
CWinApp::CloseAllDocuments Tüm açık belgeleri kapatır.
CWinApp::CreatePrinterDC Yazıcı cihazı bağlamı oluşturur.
CWinApp::D elRegTree Belirtilen anahtarı ve tüm alt anahtarlarını siler.
CWinApp::D oMessageBox Uygulama için AfxMessageBox uygular.
CWinApp::D oWaitCursor Bekleme imlecini açar ve kapatır.
CWinApp::EnableD2DSupport Uygulama D2D desteğini etkinleştirir. Ana pencere başlatılmadan önce bu yöntemi çağırın.
CWinApp::EnableHtmlHelp Uygulama için WinHelp yerine HTMLHelp uygular.
CWinApp::EnableTaskbarInteraction Görev çubuğu etkileşimlerini etkinleştirir.
CWinApp::ExitInstance Uygulamanız sonlandırıldığında temizlemek için geçersiz kılın.
CWinApp::GetApplicationRecoveryParameter Uygulama kurtarma yöntemi için giriş parametresini alır.
CWinApp::GetApplicationRecoveryPingInterval Yeniden başlatma yöneticisinin kurtarma geri çağırma işlevinin döndürülmesini beklediği süreyi döndürür.
CWinApp::GetApplicationRestartFlags Yeniden başlatma yöneticisinin bayraklarını döndürür.
CWinApp::GetAppRegistryKey HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName anahtarını döndürür.
CWinApp::GetDataRecoveryHandler Uygulamanın bu örneği için veri kurtarma işleyicisini alır.
CWinApp::GetFirstDocTemplatePosition İlk belge şablonunun konumunu alır.
CWinApp::GetHelpMode Uygulama tarafından kullanılan yardım türünü alır.
CWinApp::GetNextDocTemplate Belge şablonunun konumunu alır. Özyinelemeli olarak kullanılabilir.
CWinApp::GetPrinterDeviceDefaults Yazıcı cihazı varsayılanlarını alır.
CWinApp::GetProfileBinary Uygulamanın içindeki bir girdiden ikili verileri alır. INI dosyası.
CWinApp::GetProfileInt Uygulamanın içindeki bir girdiden tamsayı alır. INI dosyası.
CWinApp::GetProfileString Uygulamanın içindeki bir girdiden dize alır. INI dosyası.
CWinApp::GetSectionKey HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection anahtarını döndürür.
CWinApp::HideApplication Tüm belgeleri kapatmadan önce uygulamayı gizler.
CWinApp::HtmlHelp HTMLHelp Windows işlevini çağırır.
CWinApp::InitInstance Pencere nesnelerinizi oluşturma gibi Windows örneği başlatma işlemini gerçekleştirmek için geçersiz kılın.
CWinApp::IsTaskbarInteractionEnabled Windows 7 Görev Çubuğu etkileşiminin etkinleştirilip etkinleştirilmediğini belirtir.
CWinApp::LoadCursor İmleç kaynağını yükler.
CWinApp::LoadIcon Simge kaynağını yükler.
CWinApp::LoadOEMCursor OCR_ sabitlerinin WINDOWS.H'de belirttiği önceden tanımlanmış Bir Windows OEM imleci yükler.
CWinApp::LoadOEMIcon OIC_ sabitlerinin WINDOWS.H'de belirttiği önceden tanımlanmış bir Windows OEM simgesi yükler.
CWinApp::LoadStandardCursor IDC_ sabitlerinin WINDOWS.H'de belirttiği önceden tanımlanmış bir Windows imleci yükler.
CWinApp::LoadStandardIcon IDI_ sabitlerinin WINDOWS.H'de belirttiği önceden tanımlanmış bir Windows simgesini yükler.
CWinApp::OnDDECommand Dinamik veri değişimi (DDE) yürütme komutuna yanıt olarak çerçeve tarafından çağrılır.
CWinApp::OnIdle Uygulamaya özgü boşta kalma süresi işlemesi gerçekleştirmek için geçersiz kılın.
CWinApp::OpenDocumentFile Bir dosyadan belge açmak için çerçeve tarafından çağrılır.
CWinApp::P arseCommandLine Komut satırında tek tek parametreleri ve bayrakları ayrıştırıyor.
CWinApp::P reTranslateMessage İletileri TranslateMessage ve DispatchMessage Windows işlevlerine göndermeden önce filtreler.
CWinApp::P rocessMessageFilter Belirli iletileri uygulamaya ulaşmadan önce durdurur.
CWinApp::P rocessShellCommand Komut satırı bağımsız değişkenlerini ve bayraklarını işler.
CWinApp::P rocessWndProcException Uygulamanın iletisi ve komut işleyicileri tarafından oluşan tüm işlenmeyen özel durumları durdurur.
CWinApp::Register Özelleştirilmiş kayıt gerçekleştirir.
CWinApp::RegisterWithRestartManager Uygulamayı yeniden başlatma yöneticisine kaydeder.
CWinApp::ReopenPreviousFilesAtRestart Uygulamadan beklenmedik bir şekilde çıkıldığında yeniden başlatma yöneticisinin açık olan dosyaları yeniden açıp açmayacağını belirler.
CWinApp::RestartInstance Yeniden başlatma yöneticisi tarafından başlatılan bir uygulama yeniden başlatma işlemini işler.
CWinApp::RestoreAutosavedFilesAtRestart Uygulamayı yeniden başlatırken yeniden başlatma yöneticisinin otomatik olarak kaydedilen dosyaları geri yükleyip geri yüklemediğini belirler.
CWinApp::Run Varsayılan ileti döngüsünü çalıştırır. İleti döngüsünü özelleştirmek için geçersiz kılın.
CWinApp::RunAutomated Uygulamanın komut satırını /Automation seçeneği için test edin. Kullanımdan kalktı. Bunun yerine, ParseCommandLine çağrıldıktan sonra CCommandLineInfo::m_bRunAutomated değerini kullanın.
CWinApp::RunEmbedded /Embedding seçeneği için uygulamanın komut satırını test edin . Kullanımdan kalktı. Bunun yerine, ParseCommandLine çağrıldıktan sonra CCommandLineInfo::m_bRunEmbedded değerini kullanın.
CWinApp::SaveAllModified Kullanıcıdan değiştirilen tüm belgeleri kaydetmesini ister.
CWinApp::SelectPrinter Daha önce bir kullanıcı tarafından bir yazdırma iletişim kutusu aracılığıyla gösterilen yazıcıyı seçer.
CWinApp::SetHelpMode Uygulama tarafından kullanılan yardım türünü ayarlar ve başlatır.
CWinApp::SupportsApplicationRecovery Yeniden başlatma yöneticisinin beklenmedik şekilde çıkan bir uygulamayı kurtarıp kurtarmayacağını belirler.
CWinApp::SupportsAutosaveAtInterval Yeniden başlatma yöneticisinin belgeleri düzenli aralıklarla otomatik olarak açık durumda tuşlarına basıp atmayacağını belirler.
CWinApp::SupportsAutosaveAtRestart Uygulama yeniden başlatıldığında, yeniden başlatma yöneticisinin açık belgeleri otomatik olarak alıp almadığını belirler.
CWinApp::SupportsRestartManager Uygulamanın yeniden başlatma yöneticisini destekleyip desteklemediğini belirler.
CWinApp::Kaydını Kaldır Nesne tarafından CWinApp kaydedildiği bilinen her şeyin kaydını kaldırır.
CWinApp::WinHelp WinHelp Windows işlevini çağırır.
CWinApp::WriteProfileBinary uygulamanın içindeki bir girdiye ikili veri yazar. INI dosyası.
CWinApp::WriteProfileInt Uygulamanın içindeki bir girdiye tamsayı yazar. INI dosyası.
CWinApp::WriteProfileString Uygulamanın içindeki bir girdiye bir dize yazar. INI dosyası.

Korumalı Yöntemler

Veri Akışı Adı Açıklama
CWinApp::EnableShellOpen Kullanıcının Windows Dosya Yöneticisi'nden veri dosyalarını açmasına izin verir.
CWinApp::LoadStdProfileSettings Standart yükler. INI dosya ayarları ve MRU dosya listesi özelliğini etkinleştirir.
CWinApp::OnContextHelp Shift+F1 Yardımı'nı uygulama içinde işler.
CWinApp::OnFileNew ID_FILE_NEW komutunu uygular.
CWinApp::OnFileOpen ID_FILE_OPEN komutunu uygular.
CWinApp::OnFilePrintSetup ID_FILE_PRINT_SETUP komutunu uygular.
CWinApp::OnHelp Uygulama içinde F1 Yardımı'nı işler (geçerli bağlamı kullanarak).
CWinApp::OnHelpFinder ID_HELP_FINDER ve ID_DEFAULT_HELP komutlarını işler.
CWinApp::OnHelpIndex ID_HELP_INDEX komutunu işler ve varsayılan bir Yardım konusu sağlar.
CWinApp::OnHelpUsing ID_HELP_USING komutunu işler.
CWinApp::RegisterShellFileTypes Uygulamanın tüm belge türlerini Windows Dosya Yöneticisi'ne kaydeder.
CWinApp::SetAppID Uygulama için Uygulama Kullanıcı Modeli Kimliğini açıkça ayarlar. Bu yöntem, kullanıcıya herhangi bir kullanıcı arabirimi sunulmadan önce çağrılmalıdır (en iyi yer uygulama oluşturucudur).
CWinApp::SetRegistryKey Uygulama ayarlarının yerine kayıt defterinde depolanmasına neden olur. INI dosyaları.
CWinApp::UnregisterShellFileTypes Windows Dosya Yöneticisi ile uygulamanın tüm belge türlerinin kaydını kaldırmış olur.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
CWinApp::m_bHelpMode Kullanıcının Yardım bağlam modunda olup olmadığını gösterir (genellikle SHIFT+F1 ile çağrılır).
CWinApp::m_eHelpType Uygulama tarafından kullanılan yardım türünü belirtir.
CWinApp::m_hInstance Uygulamanın geçerli örneğini tanımlar.
CWinApp::m_lpCmdLine Uygulamanın komut satırını belirten null olarak sonlandırılan bir dizeye işaret eder.
CWinApp::m_nCmdShow Pencerenin başlangıçta nasıl gösterileceğini belirtir.
CWinApp::m_pActiveWnd Bir OLE sunucusu yerinde etkin olduğunda kapsayıcı uygulamasının ana penceresine yönelik işaretçi.
CWinApp::m_pszAppID Uygulama Kullanıcı Modeli Kimliği.
CWinApp::m_pszAppName Uygulamanın adını belirtir.
CWinApp::m_pszExeName Uygulamanın modül adı.
CWinApp::m_pszHelpFilePath Uygulamanın Yardım dosyasının yolu.
CWinApp::m_pszProfileName Uygulamanın . INI dosya adı.
CWinApp::m_pszRegistryKey Uygulama profili ayarlarını depolamak için tam kayıt defteri anahtarını belirlemek için kullanılır.

Korumalı Veri Üyeleri

Veri Akışı Adı Açıklama
CWinApp::m_dwRestartManagerSupportFlags Yeniden başlatma yöneticisinin nasıl davranacağını belirleyen bayraklar.
CWinApp::m_nAutosaveInterval Otomatik tasdikler arasındaki milisaniye cinsinden süre.
CWinApp::m_pDataRecoveryHandler Uygulama için veri kurtarma işleyicisinin işaretçisi.

Açıklamalar

Uygulama nesnesi, uygulamanızı (ve her örneğini) başlatmak ve uygulamayı çalıştırmak için üye işlevleri sağlar.

Microsoft Foundation sınıflarını kullanan her uygulama yalnızca öğesinden CWinApptüretilmiş bir nesne içerebilir. Bu nesne, diğer C++ genel nesneleri oluşturulduğunda oluşturulur ve Windows, Microsoft Foundation Sınıf Kitaplığı tarafından sağlanan işlevi çağırdığında WinMain zaten kullanılabilir. Türetilmiş CWinApp nesnenizi genel düzeyde bildirin.

uygulamasından CWinAppbir uygulama sınıfı türetdiğinizde, uygulamanızın ana pencere nesnesini oluşturmak için InitInstance üye işlevini geçersiz kılın.

Üye işlevlerine CWinApp ek olarak, Microsoft Foundation Sınıf Kitaplığı nesnenize CWinApp ve diğer genel bilgilere erişmek için aşağıdaki genel işlevleri sağlar:

  • AfxGetApp nesneye CWinApp yönelik bir işaretçi alır.

  • AfxGetInstanceHandle Geçerli uygulama örneğine bir tanıtıcı alır.

  • AfxGetResourceHandle Uygulamanın kaynakları için bir tanıtıcı alır.

  • AfxGetAppName Uygulamanın adını içeren bir dizeye yönelik bir işaretçi alır. Alternatif olarak, nesneye CWinApp bir işaretçiniz varsa, uygulamanın adını almak için kullanın m_pszExeName .

Aşağıdakilere genel bir bakış da dahil olmak üzere, sınıfı hakkında CWinApp daha fazla bilgi için bkz. CWinApp: Uygulama Sınıfı:

  • CWinApp- Uygulama Sihirbazı tarafından yazılan türetilmiş kod.

  • CWinApp'nin uygulamanızın yürütme dizisindeki rolü.

  • CWinApp'nin varsayılan üye işlevi uygulamaları.

  • CWinApp'nin anahtarı geçersiz kılınabilir.

Veri m_hPrevInstance üyesi artık yok. Uygulamanın başka bir örneğinin çalışıp çalışmadığını belirlemek için adlandırılmış bir mutex kullanın. Mutex'i açma işlemi başarısız olursa, uygulamanın çalışan başka bir örneği yoktur.

Devralma Hiyerarşisi

CObject

CCmdTarget

CWinThread

CWinApp

Gereksinimler

Üst bilgi: afxwin.h

CWinApp::AddDocTemplate

Uygulamanın koruduğu kullanılabilir belge şablonları listesine belge şablonu eklemek için bu üye işlevini çağırın.

void AddDocTemplate(CDocTemplate* pTemplate);

Parametreler

pTemplate
Eklenecek öğesinin CDocTemplate işaretçisi.

Açıklamalar

RegisterShellFileTypes'ı çağırmadan önce tüm belge şablonlarını bir uygulamaya eklemeniz gerekir.

Örnek

// 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

MRU dosya listesine lpszPathName eklemek için bu üye işlevini çağırın.

virtual void AddToRecentFileList(LPCTSTR lpszPathName);

Parametreler

lpszPathName
Dosyanın yolu.

Açıklamalar

Bu üye işlevini kullanmadan önce geçerli MRU dosya listesini yüklemek için LoadStdProfileSettings üye işlevini çağırmalısınız.

Çerçeve, dosyayı açtığında veya Farklı Kaydet komutunu yürüterek dosyayı yeni bir adla kaydettiğinde bu üye işlevini çağırır.

Örnek

// 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

Uygulama beklenmedik bir şekilde çıktığında çerçeve tarafından çağrılır.

virtual DWORD ApplicationRecoveryCallback(LPVOID lpvParam);

Parametreler

lpvParam
[in] Gelecekte kullanmak üzere ayrılmıştır.

Dönüş Değeri

Bu yöntem başarılı olursa 0; hata oluşursa sıfır olmayan.

Açıklamalar

Uygulamanız yeniden başlatma yöneticisini destekliyorsa, uygulamanız beklenmedik bir şekilde çıktığında çerçeve bu işlevi çağırır.

varsayılan uygulaması ApplicationRecoveryCallback , şu anda açık olan belgelerin listesini kayıt defterine kaydetmek için öğesini kullanır CDataRecoveryHandler . Bu yöntem hiçbir dosyayı otomatik kaydetmez.

Davranışı özelleştirmek için bu işlevi türetilmiş bir CWinApp Sınıfında geçersiz kılın veya kendi uygulama kurtarma yönteminizi CWinApp::RegisterWithRestartManager parametresi olarak geçirin.

CWinApp::CloseAllDocuments

Çıkmadan önce tüm açık belgeleri kapatmak için bu üye işlevini çağır.

void CloseAllDocuments(BOOL bEndSession);

Parametreler

bEndSession
Windows oturumunun sonlandırılıp sonlandırılmayacağını belirtir. Oturum sonlandırılıyorsa TRUE olur; aksi takdirde YANLIŞ.

Açıklamalar

çağırmadan önce HideApplication'ı çağır CloseAllDocuments.

CWinApp::CreatePrinterDC

Seçili yazıcıdan bir yazıcı cihazı bağlamı (DC) oluşturmak için bu üye işlevini çağırın.

BOOL CreatePrinterDC(CDC& dc);

Parametreler

Dc
Yazıcı cihazı bağlamı başvurusu.

Dönüş Değeri

Yazıcı cihaz bağlamı başarıyla oluşturulursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

CreatePrinterDC , başvuruya göre geçirdiğiniz cihaz bağlamını başlatır, böylece yazdırmak için kullanabilirsiniz.

İşlev başarılı olursa, yazdırmayı bitirdiğinizde cihaz bağlamını yok etmeniz gerekir. CDC nesnesinin yıkıcısının bunu yapmasına izin verebilir veya CDC::D eleteDC'yi çağırarak bunu açıkça yapabilirsiniz.

CWinApp::CWinApp

Bir CWinApp nesnesi oluşturur ve uygulama adı olarak depolanacak lpszAppName değerini geçirir.

CWinApp(LPCTSTR lpszAppName = NULL);

Parametreler

lpszAppName
Windows'un kullandığı uygulama adını içeren null olarak sonlandırılan bir dize. Bu bağımsız değişken sağlanmazsa veya NULL ise, CWinApp yürütülebilir dosyanın AFX_IDS_APP_TITLE kaynak dizesini veya dosya adını kullanır.

Açıklamalar

Türetilmiş sınıfınızın CWinApptek bir genel nesnesini oluşturmanız gerekir. Uygulamanızda yalnızca bir CWinApp nesne olabilir. Oluşturucu, uygulamayı başlatmak ve çalıştırmak için CWinApp nesnenin WinMain üye işlevlerini çağırabilecek şekilde nesneye yönelik bir işaretçi depolar.

CWinApp::D elRegTree

Belirli bir kayıt defteri anahtarını ve tüm alt anahtarlarını siler.

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

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

Parametreler

hParentKey
Kayıt defteri anahtarı için tanıtıcı.

strKeyName
Silinecek kayıt defteri anahtarının adı.

pTM
CAtlTransactionManager nesnesinin işaretçisi.

Dönüş Değeri

İşlev başarılı olursa, dönüş değeri ERROR_SUCCESS. İşlev başarısız olursa, dönüş değeri Winerror.h dosyasında tanımlanan sıfır olmayan bir hata kodudur.

Açıklamalar

Belirtilen anahtarı ve alt anahtarlarını silmek için bu işlevi çağırın.

CWinApp::D oMessageBox

Çerçeve, afxMessageBox genel işlevi için bir ileti kutusu uygulamak üzere bu üye işlevini çağırır.

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

Parametreler

lpszPrompt
İleti kutusundaki metnin adresi.

nType
İleti kutusu stili.

nIDPrompt
Yardım bağlam dizesinde dizin.

Dönüş Değeri

ile aynı değerleri AfxMessageBoxdöndürür.

Açıklamalar

İleti kutusunu açmak için bu üye işlevini çağırmayın; yerine kullanın AfxMessageBox .

Çağrıların uygulama genelinde işlenmesini AfxMessageBox özelleştirmek için bu üye işlevini geçersiz kılın.

CWinApp::D oWaitCursor

Bu üye işlevi, CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor ve CCmdTarget::RestoreWaitCursor uygulamak için çerçeve tarafından çağrılır.

virtual void DoWaitCursor(int nCode);

Parametreler

nCode
Bu parametre 1 ise, bir bekleme imleci görüntülenir. 0 ise, bekleme imleci başvuru sayısı artırılmadan geri yüklenir. -1 ise, bekleme imleci biter.

Açıklamalar

Varsayılan olarak bir kum saati imleci uygulanır. DoWaitCursor bir başvuru sayısı tutar. Pozitif olduğunda kum saati imleci görüntülenir.

Normalde doğrudan çağırmazsanız DoWaitCursor , bekleme imlecini değiştirmek veya bekleme imleci görüntülenirken ek işlem yapmak için bu üye işlevini geçersiz kılabilirsiniz.

Bekleme imlecini uygulamanın daha kolay ve daha kolay bir yolu için kullanın CWaitCursor.

Örnek

// 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 gereklidir.

Uygulama D2D desteğini etkinleştirir. Ana pencere başlatılmadan önce bu yöntemi çağırın.

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

Parametreler

d2dFactoryType
D2D fabrikasının iş parçacığı oluşturma modeli ve oluşturduğu kaynaklar.

writeFactoryType
Yazma fabrikası nesnesinin paylaşılıp paylaşılmayacağını veya yalıtılacağını belirten bir değer

Dönüş Değeri

D2D desteği etkinleştirildiyse TRUE döndürür, YANLIŞ - aksi takdirde

CWinApp::EnableHtmlHelp

Uygulamanızın yardımı için HTMLHelp kullanmak için türetilmiş sınıfınızın CWinAppoluşturucusunun içinden bu üye işlevini çağırın.

void EnableHtmlHelp();

Açıklamalar

CWinApp::EnableShellOpen

Uygulamanızın kullanıcılarının Windows Dosya Yöneticisi'nin içinden dosyalara çift tıkladığında veri dosyalarını açmalarını sağlamak için genellikle geçersiz kılmanızdan InitInstance bu işlevi çağırın.

void EnableShellOpen();

Açıklamalar

RegisterShellFileTypes Üye işlevini bu işlevle birlikte çağırın veya bir sağlayın. Belge türlerinin el ile kaydı için uygulamanızla birlikte REG dosyası.

Örnek

// 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

Görev çubuğu etkileşimlerini etkinleştirir.

BOOL EnableTaskbarInteraction(BOOL bEnable = TRUE);

Parametreler

bEnable
Windows 7 görev çubuğuyla etkileşimin etkin mi (TRUE) yoksa devre dışı mı (YANLIŞ) olacağını belirtir.

Dönüş Değeri

Görev çubuğu etkileşimi etkinleştirilebilir veya devre dışı bırakılabilirse TRUE döndürür.

Açıklamalar

Bu yöntem ana pencere oluşturulmadan önce çağrılmalıdır, aksi takdirde yanLIŞ onaylar ve döndürür.

CWinApp::ExitInstance

Uygulamanın bu örneğinden çıkmak için üye işlevinin içinden Run çerçeve tarafından çağrılır.

virtual int ExitInstance();

Dönüş Değeri

Uygulamanın çıkış kodu; 0 hata olmadığını, 0'dan büyük değerler ise hata olduğunu gösterir. Bu değer, değerinden WinMaindönüş değeri olarak kullanılır.

Açıklamalar

Bu üye işlevini üye işlevi dışında hiçbir yerden Run çağırmayın.

Bu işlevin varsayılan uygulaması, uygulamanın uygulamasına çerçeve seçeneklerini yazar. INI dosyası. Uygulamanız sonlandırıldığında temizlemek için bu işlevi geçersiz kılın.

Örnek

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

   DoCleanup();

   return CWinApp::ExitInstance();
}

CWinApp::GetApplicationRecoveryParameter

Uygulama kurtarma yöntemi için giriş parametresini alır.

virtual LPVOID GetApplicationRecoveryParameter();

Dönüş Değeri

Uygulama kurtarma yöntemi için varsayılan giriş parametresi.

Açıklamalar

Bu işlevin varsayılan davranışı NULL döndürür.

Daha fazla bilgi için bkz . CWinApp::ApplicationRecoveryCallback.

CWinApp::GetApplicationRecoveryPingInterval

Yeniden başlatma yöneticisinin kurtarma geri çağırma işlevinin döndürülmesini beklediği süreyi döndürür.

virtual DWORD GetApplicationRecoveryPingInterval();

Dönüş Değeri

Milisaniye cinsinden süre.

Açıklamalar

Yeniden başlatma yöneticisine kayıtlı bir uygulama beklenmedik bir şekilde çıktığında, uygulama açık belgeleri kaydetmeye çalışır ve kurtarma geri çağırma işlevini çağırır. Varsayılan kurtarma geri çağırma işlevi CWinApp::ApplicationRecoveryCallback'tir.

Çerçevenin kurtarma geri çağırma işlevinin döndürmesini beklediği süre ping aralığıdır. ping aralığını geçersiz kılarak CWinApp::GetApplicationRecoveryPingInterval veya için RegisterWithRestartManagerözel bir değer sağlayarak özelleştirebilirsiniz.

CWinApp::GetApplicationRestartFlags

Yeniden başlatma yöneticisinin bayraklarını döndürür.

virtual DWORD GetApplicationRestartFlags();

Dönüş Değeri

Yeniden başlatma yöneticisinin bayrakları. Varsayılan uygulama 0 döndürür.

Açıklamalar

Yeniden başlatma yöneticisi bayraklarının varsayılan uygulamayla hiçbir etkisi yoktur. Bunlar gelecekte kullanılmak üzere sağlanır.

Uygulamayı yeniden başlatma yöneticisine kaydederken CWinApp::RegisterWithRestartManager kullanarak bayrakları ayarlarsınız.

Yeniden başlatma yöneticisi bayrakları için olası değerler aşağıdaki gibidir:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::GetAppRegistryKey

HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName anahtarını döndürür.

HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL);

Parametreler

pTM
Nesne CAtlTransactionManager işaretçisi.

Dönüş Değeri

İşlev başarılı olursa uygulama anahtarı; aksi takdirde NULL.

Açıklamalar

CWinApp::GetDataRecoveryHandler

Uygulamanın bu örneği için veri kurtarma işleyicisini alır.

virtual CDataRecoveryHandler *GetDataRecoveryHandler();

Dönüş Değeri

Uygulamanın bu örneği için veri kurtarma işleyicisi.

Açıklamalar

Yeniden başlatma yöneticisini kullanan her uygulama, CDataRecoveryHandler Sınıfının bir örneğine sahip olmalıdır. Bu sınıf, açık belgeleri izlemek ve dosyaları otomatik olarak kaydetmeden sorumludur. öğesinin CDataRecoveryHandler davranışı, yeniden başlatma yöneticisinin yapılandırmasına bağlıdır. Daha fazla bilgi için bkz . CDataRecoveryHandler Sınıfı.

Bu yöntem, Windows Vista'dan önceki işletim sistemlerinde NULL döndürür. Yeniden başlatma yöneticisi Windows Vista'dan önceki işletim sistemlerinde desteklenmez.

Uygulamanın şu anda bir veri kurtarma işleyicisi yoksa, bu yöntem bir tane oluşturur ve buna bir işaretçi döndürür.

CWinApp::GetFirstDocTemplatePosition

Uygulamadaki ilk belge şablonunun konumunu alır.

POSITION GetFirstDocTemplatePosition() const;

Dönüş Değeri

Yineleme veya nesne işaretçisi alma için kullanılabilecek POSITION değeri; Liste boşsa NULL.

Açıklamalar

İlk CDocTemplate nesnesini almak için GetNextDocTemplate çağrısında döndürülen POSITION değerini kullanın.

CWinApp::GetHelpMode

Uygulama tarafından kullanılan yardım türünü alır.

AFX_HELP_TYPE GetHelpMode();

Dönüş Değeri

Uygulama tarafından kullanılan yardım türü. Daha fazla bilgi için bkz . CWinApp::m_eHelpType .

CWinApp::GetNextDocTemplate

Pos tarafından tanımlanan belge şablonunu alır, sonra pos değerini POSITION değerine ayarlar.

CDocTemplate* GetNextDocTemplate(POSITION& pos) const;

Parametreler

Pos
önceki bir veya GetFirstDocTemplatePosition çağrısı GetNextDocTemplate tarafından döndürülen POSITION değerine başvuru. Değer, bu çağrı tarafından bir sonraki konuma güncelleştirilir.

Dönüş Değeri

CDocTemplate nesnesinin işaretçisi.

Açıklamalar

çağrısıyla GetFirstDocTemplatePositionilk konumu belirlerseniz, bir iletme yineleme döngüsünde kullanabilirsinizGetNextDocTemplate.

POSITION değerinizin geçerli olduğundan emin olmanız gerekir. Geçersizse, Microsoft Foundation Sınıf Kitaplığı'nın Hata Ayıklama sürümü onaylar.

Alınan belge şablonu kullanılabilir son şablonsa, pos'un yeni değeri NULL olarak ayarlanır.

CWinApp::GetPrinterDeviceDefaults

Yazdırma için bir yazıcı cihazı bağlamı hazırlamak için bu üye işlevini çağırın.

BOOL GetPrinterDeviceDefaults(struct tagPDA* pPrintDlg);

Parametreler

pPrintDlg
PRINTDLG yapısının işaretçisi.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Windows'tan geçerli yazıcı varsayılanlarını alır. INI dosyası gerektiği gibi veya Yazdırma Kurulumu'nda kullanıcı tarafından ayarlanan son yazıcı yapılandırmasını kullanır.

Örnek

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

Uygulamanın kayıt defterinin veya öğesinin belirtilen bölümündeki bir girdiden ikili verileri almak için bu üye işlevini çağırın. INI dosyası.

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

Parametreler

lpszSection
Girdiyi içeren bölümü belirten null olarak sonlandırılan bir dizeye işaret eder.

lpszEntry
Değeri alınacak girdiyi içeren null olarak sonlandırılan bir dizeyi gösterir.

ppData
Verilerin adresini alacak bir işaretçiyi gösterir.

pBytes
Verilerin boyutunu (bayt cinsinden) alacak bir UINT'ye işaret eder.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu üye işlevi büyük/küçük harfe duyarlı olmadığından lpszSection ve lpszEntry parametrelerindeki dizeler büyük/küçük harfe göre farklılık gösterebilir.

Not

GetProfileBinary bir arabellek ayırır ve * ppData içindeki adresini döndürür. Çağıran, delete [] kullanarak arabelleği boşaltmaktan sorumludur.

Önemli

Bu işlev tarafından döndürülen veriler NULL olarak sonlandırılmamalıdır ve çağıranın doğrulama gerçekleştirmesi gerekir. Daha fazla bilgi için bkz . Arabellek Taşmalarından Kaçınma.

Örnek

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

Ek bir örnek için bkz . CWinApp::WriteProfileBinary.

CWinApp::GetProfileInt

Uygulamanın kayıt defterinin veya öğesinin belirtilen bölümündeki bir girdiden tamsayı değerini almak için bu üye işlevini çağırın. INI dosyası.

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

Parametreler

lpszSection
Girdiyi içeren bölümü belirten null olarak sonlandırılan bir dizeye işaret eder.

lpszEntry
Değeri alınacak girdiyi içeren null olarak sonlandırılan bir dizeyi gösterir.

nDefault
Çerçeve girişi bulamazsa döndürülecek varsayılan değeri belirtir.

Dönüş Değeri

İşlev başarılı olursa belirtilen girdiyi izleyen dizenin tamsayı değeri. İşlev girişi bulamazsa, dönüş değeri nDefault parametresinin değeridir. Belirtilen girdiye karşılık gelen değer bir tamsayı değilse, dönüş değeri 0 olur.

Bu üye işlevi içindeki değer için onaltılık gösterimi destekler. INI dosyası. İmzalı bir tamsayı aldığınızda, değerini içine intatamanız gerekir.

Açıklamalar

Bu üye işlevi büyük/küçük harfe duyarlı olmadığından lpszSection ve lpszEntry parametrelerindeki dizeler büyük/küçük harfe göre farklılık gösterebilir.

Önemli

Bu işlev tarafından döndürülen veriler NULL olarak sonlandırılmamalıdır ve çağıranın doğrulama gerçekleştirmesi gerekir. Daha fazla bilgi için bkz . Arabellek Taşmalarından Kaçınma.

Örnek

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);

Ek bir örnek için bkz . CWinApp::WriteProfileInt.

CWinApp::GetProfileString

Uygulamanın kayıt defterinde veya içinde belirtilen bölümde yer alan bir girişle ilişkili dizeyi almak için bu üye işlevini çağırın. INI dosyası.

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

Parametreler

lpszSection
Girdiyi içeren bölümü belirten null olarak sonlandırılan bir dizeye işaret eder.

lpszEntry
Dizesi alınacak olan girdiyi içeren null olarak sonlandırılan bir dizeyi gösterir. Bu değer NULL olmamalıdır.

lpszDefault
Giriş başlatma dosyasında bulunamazsa, verilen girdi için varsayılan dize değerini gösterir.

Dönüş Değeri

Dönüş değeri, uygulamanın dizesidir. Dize bulunamazsa INI dosyası veya lpszDefault . Çerçeve tarafından desteklenen en fazla dize uzunluğu _MAX_PATH. lpszDefault NULL ise, dönüş değeri boş bir dizedir.

Açıklamalar

Önemli

Bu işlev tarafından döndürülen veriler NULL olarak sonlandırılmamalıdır ve çağıranın doğrulama gerçekleştirmesi gerekir. Daha fazla bilgi için bkz . Arabellek Taşmalarından Kaçınma.

Örnek

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);

Başka bir örnek için CWinApp::GetProfileInt örneğine bakın.

CWinApp::GetSectionKey

HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection anahtarını döndürür.

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

Parametreler

lpszSection
Elde edilecek anahtarın adı.

pTM
Nesne CAtlTransactionManager işaretçisi.

Dönüş Değeri

İşlev başarılı olursa bölüm anahtarı; aksi takdirde NULL.

Açıklamalar

CWinApp::HideApplication

Açık belgeleri kapatmadan önce bir uygulamayı gizlemek için bu üye işlevini çağırın.

void HideApplication();

CWinApp::HtmlHelp

HTMLHelp uygulamasını çağırmak için bu üye işlevini çağırın.

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

Parametreler

dwData
Ek verileri belirtir. Kullanılan değer nCmd parametresinin değerine bağlıdır. Varsayılan olarak 0x000F HH_HELP_CONTEXT anlamına gelir.

nCmd
İstenen yardım türünü belirtir. Olası değerlerin listesi ve dwData parametresini nasıl etkiledikleri için Windows SDK'sında HtmlHelpW veya HtmlHelpA API işlevlerinde açıklanan uCommand parametresine bakın.

Açıklamalar

Çerçeve, HTMLHelp uygulamasını çağırmak için bu işlevi de çağırır.

Uygulamanız sonlandırıldığında çerçeve HTMLHelp uygulamasını otomatik olarak kapatır.

CWinApp::InitInstance

Windows, aynı programın birkaç kopyasının aynı anda çalışmasına izin verir.

virtual BOOL InitInstance();

Dönüş Değeri

Başlatma başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Uygulama başlatma kavramsal olarak iki bölüme ayrılır: program ilk kez çalıştırıldığında yapılan tek seferlik uygulama başlatma ve ilk kez de dahil olmak üzere programın bir kopyası her çalıştırıldığında çalıştırılan örnek başlatma. Çerçevenin WinMain uygulaması bu işlevi çağırır.

Windows altında çalışan uygulamanızın her yeni örneğini başlatmak için geçersiz kılın InitInstance . Genellikle, ana pencere nesnenizi oluşturmak için geçersiz kılar InitInstance ve veri üyesini CWinThread::m_pMainWnd bu pencereye işaret etmek üzere ayarlarsınız. Bu üye işlevini geçersiz kılma hakkında daha fazla bilgi için bkz . CWinApp: Uygulama Sınıfı.

Not

MFC uygulamaları tek iş parçacıklı daire (STA) olarak başlatılmalıdır. Geçersiz kılmanızda InitInstance CoInitializeEx'i çağırırsanız COINIT_APARTMENTTHREADED (COINIT_MULTITHREADED değil) belirtin.

Örnek

// 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

Windows 7 Görev Çubuğu etkileşiminin etkinleştirilip etkinleştirilmediğini belirtir.

virtual BOOL IsTaskbarInteractionEnabled();

Dönüş Değeri

Çağrıldıysa EnableTaskbarInteraction ve İşletim Sistemi Windows 7 veya üzeriyse TRUE döndürür.

Açıklamalar

Görev çubuğu etkileşimi, MDI uygulamasının MDI alt öğelerinin içeriğini, fare işaretçisi uygulama görev çubuğu düğmesinin üzerindeyken görüntülenen ayrı sekmeli küçük resimlerde görüntülediği anlamına gelir.

CWinApp::LoadCursor

geçerli yürütülebilir dosyadan lpszResourceName tarafından adlandırılan veya nIDResource tarafından belirtilen imleç kaynağını yükler.

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

Parametreler

lpszResourceName
İmleç kaynağının adını içeren null ile sonlandırılan bir dizeyi gösterir. Bu bağımsız değişken için bir CString kullanabilirsiniz.

nIDResource
İmleç kaynağının kimliği. Kaynakların listesi için bkz . Windows SDK'sında LoadCursor .

Dönüş Değeri

Başarılı olursa bir imleç tutamacı; aksi takdirde NULL.

Açıklamalar

LoadCursor yalnızca daha önce yüklenmemişse imleci belleğe yükler; aksi takdirde, mevcut kaynağın tanıtıcısını alır.

Önceden tanımlanmış Windows imleçlerine erişmek için LoadStandardCursor veya LoadOEMCursor üye işlevini kullanın.

Örnek

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

Yürütülebilir dosyadan lpszResourceName tarafından adlandırılan veya nIDResource tarafından belirtilen simge kaynağını yükler.

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

Parametreler

lpszResourceName
Simge kaynağının adını içeren null olarak sonlandırılan bir dizeyi gösterir. Bu bağımsız değişken için de kullanabilirsiniz CString .

nIDResource
Simge kaynağının kimlik numarası.

Dönüş Değeri

Başarılı olursa simgenin tutamacı; aksi takdirde NULL.

Açıklamalar

LoadIcon simgeyi yalnızca daha önce yüklenmemişse yükler; aksi takdirde, mevcut kaynağın tanıtıcısını alır.

Önceden tanımlanmış Windows simgelerine erişmek için LoadStandardIcon veya LoadOEMIcon üye işlevini kullanabilirsiniz.

Not

Bu üye işlevi, yalnızca boyutu SM_CXICON ve SM_CYICON sistem ölçümü değerlerine uyan bir simge yükleyebilen Win32 API işlevi LoadIcon'ı çağırır.

CWinApp::LoadOEMCursor

nIDCursor tarafından belirtilen Önceden tanımlanmış Windows imleç kaynağını yükler.

HCURSOR LoadOEMCursor(UINT nIDCursor) const;

Parametreler

nIDCursor
Önceden tanımlanmış bir Windows imlecini belirten OCR_ bildirim sabit tanımlayıcısı. WINDOWS.H'deki OCR_ sabitlerine erişmek için daha önce #include \<afxwin.h> sahip #define OEMRESOURCE olmanız gerekir.

Dönüş Değeri

Başarılı olursa bir imleç tutamacı; aksi takdirde NULL.

Açıklamalar

LoadOEMCursor Önceden tanımlanmış Windows imleçlerine erişmek için veya LoadStandardCursor üye işlevini kullanın.

Örnek

// 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

nIDIcon tarafından belirtilen Önceden tanımlanmış Windows simge kaynağını yükler.

HICON LoadOEMIcon(UINT nIDIcon) const;

Parametreler

nIDIcon
Önceden tanımlanmış bir Windows simgesini belirten OIC_ bildirim sabit tanımlayıcısı. WINDOWS.H'de OIC_ sabitlerine erişmek için daha önce #include \<afxwin.h> sahip #define OEMRESOURCE olmanız gerekir.

Dönüş Değeri

Başarılı olursa simgenin tutamacı; aksi takdirde NULL.

Açıklamalar

Önceden tanımlanmış Windows simgelerine LoadOEMIcon erişmek için veya LoadStandardIcon üye işlevini kullanın.

CWinApp::LoadStandardCursor

lpszCursorName tarafından belirtilen önceden tanımlanmış Windows imleç kaynağını yükler.

HCURSOR LoadStandardCursor(LPCTSTR lpszCursorName) const;

Parametreler

lpszCursorName
Önceden tanımlanmış bir Windows imlecini belirten bir IDC_ bildirim sabit tanımlayıcısı. Bu tanımlayıcılar WINDOWS.H'de tanımlanır. Aşağıdaki listede lpszCursorName için önceden tanımlanmış olası değerler ve anlamlar gösterilmektedir:

  • standart ok imlecini IDC_ARROW

  • Standart metin ekleme imlecini IDC_IBEAM

  • Windows zaman alan bir görev gerçekleştirirken kullanılan kum saati imlecini IDC_WAIT

  • Seçim için çapraz imleç IDC_CROSS

  • IDC_UPARROW Yukarıyı gösteren ok

  • IDC_SIZE Eski ve desteklenmeyen; IDC_SIZEALL kullanma

  • IDC_SIZEALL Dört noktalı ok. Pencereyi yeniden boyutlandırmak için kullanılacak imleç.

  • IDC_ICON Eski ve desteklenmeyen. IDC_ARROW kullanın.

  • IDC_SIZENWSE Sol üst ve sağ altta uçları olan iki başlı ok

  • IDC_SIZENESW Sağ üst ve sol altta uçları olan iki başlı ok

  • yatay iki başlı oku IDC_SIZEWE

  • dikey iki başlı oku IDC_SIZENS

Dönüş Değeri

Başarılı olursa bir imleç tutamacı; aksi takdirde NULL.

Açıklamalar

LoadStandardCursor Önceden tanımlanmış Windows imleçlerine erişmek için veya LoadOEMCursor üye işlevini kullanın.

Örnek

HCURSOR hCursor;

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

CWinApp::LoadStandardIcon

lpszIconName tarafından belirtilen önceden tanımlanmış Windows simge kaynağını yükler.

HICON LoadStandardIcon(LPCTSTR lpszIconName) const;

Parametreler

lpszIconName
Önceden tanımlanmış bir Windows simgesini belirten bildirim sabiti tanımlayıcısı. Bu tanımlayıcılar WINDOWS.H'de tanımlanır. Önceden tanımlanmış olası değerlerin ve açıklamalarının listesi için Windows SDK'sında LoadIcon'daki lpIconName parametresine bakın.

Dönüş Değeri

Başarılı olursa simgenin tutamacı; aksi takdirde NULL.

Açıklamalar

Önceden tanımlanmış Windows simgelerine LoadStandardIcon erişmek için veya LoadOEMIcon üye işlevini kullanın.

CWinApp::LoadStdProfileSettings

En son kullanılan (MRU) dosyalarının ve son önizleme durumunun listesini etkinleştirmek ve yüklemek için InitInstance üye işlevinin içinden bu üye işlevini çağırın.

void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);

Parametreler

nMaxMRU
İzlenen son kullanılan dosyaların sayısı.

Açıklamalar

nMaxMRU 0 ise, MRU listesi korunmaz.

CWinApp::m_bHelpMode

Uygulama Yardım bağlam modundaysa (geleneksel olarak SHIFT + F1 ile çağrılır); aksi takdirde YANLIŞ.

BOOL m_bHelpMode;

Açıklamalar

Yardım bağlam modunda, imleç bir soru işaretine dönüşür ve kullanıcı bunu ekran hakkında taşıyabilir. Yardım modundayken özel işleme uygulamak istiyorsanız bu bayrağı inceleyin. m_bHelpMode BOOL türünde bir ortak değişkendir.

CWinApp::m_dwRestartManagerSupportFlags

Yeniden başlatma yöneticisinin nasıl davranacağını belirleyen bayraklar.

DWORD m_dwRestartManagerSupportFlags;

Açıklamalar

Yeniden başlatma yöneticisini etkinleştirmek için istediğiniz davranışa ayarlayın m_dwRestartManagerSupportFlags . Aşağıdaki tabloda kullanılabilir bayraklar gösterilmektedir.

Bayrak Açıklama
AFX_RESTART_MANAGER_SUPPORT_RESTART Uygulama CWinApp::RegisterWithRestartManager kullanılarak kaydedilir. Beklenmedik bir şekilde çıkılırsa yeniden başlatma yöneticisi uygulamanın yeniden başlatılmasından sorumludur.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY Uygulama yeniden başlatma yöneticisine kaydedilir ve yeniden başlatma yöneticisi, uygulamayı yeniden başlattığınızda kurtarma geri çağırma işlevini çağırır. Varsayılan kurtarma geri çağırma işlevi CWinApp::ApplicationRecoveryCallback'tir.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART Otomatik kaydetme etkinleştirilir ve uygulama yeniden başlatıldığında yeniden başlatma yöneticisi tüm açık belgeleri otomatik olarak denetler.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL Otomatik kaydetme etkinleştirilir ve yeniden başlatma yöneticisi tüm açık belgeleri düzenli aralıklarla otomatik olarak denetler. Aralık CWinApp::m_nAutosaveInterval tarafından tanımlanır.
- AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES Uygulamayı beklenmeyen bir çıkıştan yeniden başlattıktan sonra yeniden başlatma yöneticisi daha önce açık belgeleri açar. CDataRecoveryHandler Sınıfı, açık belgelerin listesini depolamayı ve geri yüklemeyi işler.
- AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES Yeniden başlatma yöneticisi, uygulamayı yeniden başlattıktan sonra kullanıcıdan otomatik olarak kaydedilen dosyaları geri yüklemesini ister. CDataRecoveryHandler sınıfı kullanıcıyı sorgular.
- AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_SUPPORT_RECOVER ve AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES birleşimi.
- AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL ve AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES birleşimi.
- AFX_RESTART_MANAGER_SUPPORT_RESTART_ASPECTS AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES ve AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES birleşimi.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY_ASPECTS Birleşim ofAFX_RESTART_MANAGER_SUPPORT_RECOVERY, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES ve AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.

CWinApp::m_eHelpType

Bu veri üyesinin türü, sınıfı içinde CWinApp tanımlanan AFX_HELP_TYPE numaralandırılmış türdür.

AFX_HELP_TYPE m_eHelpType;

Açıklamalar

AFX_HELP_TYPE numaralandırması aşağıdaki gibi tanımlanır:

enum AFX_HELP_TYPE {
    afxWinHelp = 0,
    afxHTMLHelp = 1
    };
  • Uygulamanın yardımını HTML Yardımı olarak ayarlamak için SetHelpMode'u çağırın ve belirtinafxHTMLHelp.

  • Uygulamanın yardımını WinHelp olarak ayarlamak için öğesini çağırın SetHelpMode ve belirtin afxWinHelp.

CWinApp::m_hInstance

Windows tarafından öğesine geçirilen hInstance parametresine WinMainkarşılık gelir.

HINSTANCE m_hInstance;

Açıklamalar

Veri m_hInstance üyesi, Windows altında çalışan uygulamanın geçerli örneğinin tanıtıcısıdır. Bu, AfxGetInstanceHandle genel işlevi tarafından döndürülür. m_hInstance HINSTANCE türünde bir genel değişkendir.

Örnek

// 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

Windows tarafından öğesine geçirilen lpCmdLine parametresine WinMainkarşılık gelir.

LPTSTR m_lpCmdLine;

Açıklamalar

Uygulamanın komut satırını belirten null olarak sonlandırılan bir dizeye işaret eder. Kullanıcının uygulama başlatıldığında girdiği komut satırı bağımsız değişkenlerine erişmek için kullanın m_lpCmdLine . m_lpCmdLine LPTSTR türünde bir ortak değişkendir.

Örnek

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

Otomatik tasdikler arasındaki milisaniye cinsinden süre.

int m_nAutosaveInterval;

Açıklamalar

Yeniden başlatma yöneticisini, açık belgeleri belirli aralıklarla otomatik olarak kaydetmek için yapılandırabilirsiniz. Uygulamanız dosyaları otomatik kaydetmezse, bu parametrenin hiçbir etkisi yoktur.

CWinApp::m_nCmdShow

Windows tarafından öğesine geçirilen nCmdShow parametresine WinMainkarşılık gelir.

int m_nCmdShow;

Açıklamalar

Uygulamanızın ana penceresi için CWnd::ShowWindow çağrısı yaparken bağımsız değişken olarak geçirmelisinizm_nCmdShow. m_nCmdShow türünde intbir ortak değişkendir.

Örnek

// 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

OLE sunucu uygulamanızın yerinde etkinleştirilmiş olduğu OLE kapsayıcı uygulamasının ana penceresine bir işaretçi depolamak için bu veri üyesini kullanın.

Açıklamalar

Bu veri üyesi NULL ise, uygulama yerinde etkin değildir.

Çerçeve penceresi bir OLE kapsayıcı uygulaması tarafından yerinde etkinleştirildiğinde çerçeve bu üye değişkenini ayarlar.

CWinApp::m_pDataRecoveryHandler

Uygulama için veri kurtarma işleyicisinin işaretçisi.

CDataRecoveryHandler* m_pDataRecoveryHandler;

Açıklamalar

Bir uygulamanın veri kurtarma işleyicisi açık belgeleri izler ve otomatik olarak açıklar. Çerçeve, uygulama beklenmedik şekilde çıktıktan sonra yeniden başlatıldığında otomatik kaydedilen dosyaları geri yüklemek için veri kurtarma işleyicisini kullanır. Daha fazla bilgi için bkz . CDataRecoveryHandler Sınıfı.

CWinApp::m_pszAppName

Uygulamanın adını belirtir.

LPCTSTR m_pszAppName;

Açıklamalar

Uygulama adı, CWinApp oluşturucusunun veya belirtilmezse AFX_IDS_APP_TITLE kimliğine sahip kaynak dizesine geçirilen parametreden gelebilir. Kaynakta uygulama adı bulunamazsa, programın .EXE dosya adından gelir.

AfxGetAppName genel işlevi tarafından döndürülür. m_pszAppName const char türünde bir ortak değişkendir*.

Not

öğesine m_pszAppNamebir değer atarsanız, bu değerin yığında dinamik olarak ayrılması gerekir. YıkıcıCWinApp, bu işaretçiyle free( ) öğesini çağırır. Ayırma işlemini gerçekleştirmek için ( ) çalışma zamanı kitaplığı işlevini kullanmak _tcsdupistiyorsunuz. Ayrıca, yeni bir değer atamadan önce geçerli işaretçiyle ilişkili belleği serbest bırakın. Örneğin:

//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"));

Örnek

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

Uzantı olmadan uygulamanın yürütülebilir dosyasının adını içerir.

LPCTSTR m_pszExeName;

Açıklamalar

m_pszAppName aksine, bu ad boşluk içeremez. m_pszExeName const char türünde bir ortak değişkendir*.

Not

öğesine m_pszExeNamebir değer atarsanız, bu değerin yığında dinamik olarak ayrılması gerekir. YıkıcıCWinApp, bu işaretçiyle free( ) öğesini çağırır. Ayırma işlemini gerçekleştirmek için ( ) çalışma zamanı kitaplığı işlevini kullanmak _tcsdupistiyorsunuz. Ayrıca, yeni bir değer atamadan önce geçerli işaretçiyle ilişkili belleği serbest bırakın. Örneğin:

//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

Uygulamanın Yardım dosyasının yolunu içerir.

LPCTSTR m_pszHelpFilePath;

Açıklamalar

Varsayılan olarak, çerçeve "ile uygulamanın adına başlatılır m_pszHelpFilePath . HLP" eklenmiştir. Yardım dosyasının adını değiştirmek için, istenen yardım dosyasının tam adını içeren bir dizeye işaret etmek üzere ayarlayın m_pszHelpFilePath . Bunu yapmak için uygun bir yer, uygulamanın InitInstance işlevindedir. m_pszHelpFilePath const char türünde bir ortak değişkendir*.

Not

öğesine m_pszHelpFilePathbir değer atarsanız, bu değerin yığında dinamik olarak ayrılması gerekir. YıkıcıCWinApp, bu işaretçiyle free( ) öğesini çağırır. Ayırma işlemini gerçekleştirmek için ( ) çalışma zamanı kitaplığı işlevini kullanmak _tcsdupistiyorsunuz. Ayrıca, yeni bir değer atamadan önce geçerli işaretçiyle ilişkili belleği serbest bırakın. Örneğin:

//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

Uygulamanın adını içerir. INI dosyası.

LPCTSTR m_pszProfileName;

Açıklamalar

m_pszProfileName const char türünde bir ortak değişkendir*.

Not

öğesine m_pszProfileNamebir değer atarsanız, bu değerin yığında dinamik olarak ayrılması gerekir. YıkıcıCWinApp, bu işaretçiyle free( ) öğesini çağırır. Ayırma işlemini gerçekleştirmek için ( ) çalışma zamanı kitaplığı işlevini kullanmak _tcsdupistiyorsunuz. Ayrıca, yeni bir değer atamadan önce geçerli işaretçiyle ilişkili belleği serbest bırakın. Örneğin:

//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

Kayıt defteri veya INI dosyasında uygulama profili ayarlarının nerede depolandığını belirlemek için kullanılır.

LPCTSTR m_pszRegistryKey;

Açıklamalar

Normalde bu veri üyesi salt okunur olarak değerlendirilir.

  • Değer bir kayıt defteri anahtarında depolanır. Uygulama profili ayarının adı şu kayıt defteri anahtarına eklenir: HKEY_CURRENT_USER/Software/LocalAppWizard-Generated/.

öğesine m_pszRegistryKeybir değer atarsanız, bu değerin yığında dinamik olarak ayrılması gerekir. YıkıcıCWinApp, bu işaretçiyle free( ) öğesini çağırır. Ayırma işlemini gerçekleştirmek için ( ) çalışma zamanı kitaplığı işlevini kullanmak _tcsdupistiyorsunuz. Ayrıca, yeni bir değer atamadan önce geçerli işaretçiyle ilişkili belleği serbest bırakın. Örneğin:

//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

Uygulama Kullanıcı Modeli Kimliği.

LPCTSTR m_pszAppID;

Açıklamalar

CWinApp::OnContextHelp

Shift+F1 Yardımı'nı uygulama içinde işler.

afx_msg void OnContextHelp();

Açıklamalar

Bu üye işlevini etkinleştirmek için sınıf ileti eşlemenize CWinApp bir ON_COMMAND( ID_CONTEXT_HELP, OnContextHelp ) deyim eklemeniz ve ayrıca genellikle SHIFT+F1 kısayol tablosu girdisi eklemeniz gerekir.

OnContextHelp uygulamayı Yardım moduna alır. İmleç bir ok ve soru işaretine dönüşür ve kullanıcı fare işaretçisini hareket ettirebilir ve sol fare düğmesine basarak bir iletişim kutusu, pencere, menü veya komut düğmesi seçebilir. Bu üye işlevi, imlecin altındaki nesnenin Yardım bağlamını alır ve bu Yardım bağlamıyla Windows işlevi WinHelp'i çağırır.

CWinApp::OnDDECommand

Ana çerçeve penceresi bir DDE yürütme iletisi aldığında çerçeve tarafından çağrılır.

virtual BOOL OnDDECommand(LPTSTR lpszCommand);

Parametreler

lpszCommand
Uygulama tarafından alınan bir DDE komut dizesini gösterir.

Dönüş Değeri

Komut işlenirse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Varsayılan uygulama, komutun bir belgeyi açma isteği olup olmadığını denetler ve varsa, belirtilen belgeyi açar. Kullanıcı bir veri dosyasına çift tıkladığında Windows Dosya Yöneticisi genellikle bu tür DDE komut dizelerini gönderir. Yazdırılacak komut gibi diğer DDE yürütme komutlarını işlemek için bu işlevi geçersiz kılın.

Örnek

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

ID_FILE_NEW komutunu uygular.

afx_msg void OnFileNew();

Açıklamalar

Bu üye işlevini etkinleştirmek için sınıf ileti eşlemenize CWinApp bir ON_COMMAND( ID_FILE_NEW, OnFileNew ) deyim eklemeniz gerekir. Etkinleştirilirse, bu işlev Dosya Yeni komutunun yürütülmesini işler.

Varsayılan davranış hakkında bilgi ve bu üye işlevini geçersiz kılma yönergeleri için bkz . Teknik Not 22 .

Örnek

// 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

ID_FILE_OPEN komutunu uygular.

afx_msg void OnFileOpen();

Açıklamalar

Bu üye işlevini etkinleştirmek için sınıf ileti eşlemenize CWinApp bir ON_COMMAND( ID_FILE_OPEN, OnFileOpen ) deyim eklemeniz gerekir. Etkinleştirilirse, bu işlev Dosya Aç komutunun yürütülmesini işler.

Varsayılan davranış hakkında bilgi ve bu üye işlevini geçersiz kılma yönergeleri için bkz . Teknik Not 22.

Örnek

// 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

ID_FILE_PRINT_SETUP komutunu uygular.

afx_msg void OnFilePrintSetup();

Açıklamalar

Bu üye işlevini etkinleştirmek için sınıf ileti eşlemenize CWinApp bir ON_COMMAND( ID_FILE_PRINT_SETUP, OnFilePrintSetup ) deyim eklemeniz gerekir. Etkinleştirilirse, bu işlev Dosya Yazdır komutunun yürütülmesini işler.

Varsayılan davranış hakkında bilgi ve bu üye işlevini geçersiz kılma yönergeleri için bkz . Teknik Not 22.

Örnek

// 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

Uygulama içinde F1 Yardımı'nı işler (geçerli bağlamı kullanarak).

afx_msg void OnHelp();

Açıklamalar

Genellikle F1 anahtarı için bir hızlandırıcı anahtarı girişi de eklersiniz. F1 anahtarının etkinleştirilmesi yalnızca bir kuraldır, bir gereksinim değildir.

Bu üye işlevini etkinleştirmek için sınıf ileti eşlemenize CWinApp bir ON_COMMAND( ID_HELP, OnHelp ) deyim eklemeniz gerekir. Etkinleştirilirse, kullanıcı F1 tuşuna bastığında çerçeve tarafından çağrılır.

Bu ileti işleyici işlevinin varsayılan uygulaması geçerli pencereye, iletişim kutusuna veya menü öğesine karşılık gelen Yardım bağlamını belirler ve ardından WINHELP.EXE çağırır. Şu anda kullanılabilir bağlam yoksa işlev varsayılan bağlamı kullanır.

Yardım bağlamını şu anda odakta olan pencere, iletişim kutusu, menü öğesi veya araç çubuğu düğmesi dışında bir değere ayarlamak için bu üye işlevini geçersiz kılın. İstenen Yardım bağlam kimliğiyle çağrısı WinHelp yapın.

CWinApp::OnHelpFinder

ID_HELP_FINDER ve ID_DEFAULT_HELP komutlarını işler.

afx_msg void OnHelpFinder();

Açıklamalar

Bu üye işlevini etkinleştirmek için sınıf ileti eşlemenize CWinApp bir ON_COMMAND( ID_HELP_FINDER, OnHelpFinder ) deyim eklemeniz gerekir. Etkinleştirilirse, uygulamanızın kullanıcısı standart HELP_FINDER konu başlığıyla çağırmak WinHelp üzere Yardım Bulucu komutunu seçtiğinde çerçeve bu ileti işleyici işlevini çağırır.

CWinApp::OnHelpIndex

ID_HELP_INDEX komutunu işler ve varsayılan bir Yardım konusu sağlar.

afx_msg void OnHelpIndex();

Açıklamalar

Bu üye işlevini etkinleştirmek için sınıf ileti eşlemenize CWinApp bir ON_COMMAND( ID_HELP_INDEX, OnHelpIndex ) deyim eklemeniz gerekir. Etkinleştirilirse, uygulamanızın kullanıcısı standart HELP_INDEX konu başlığıyla çağırmak WinHelp üzere Yardım Dizini komutunu seçtiğinde çerçeve bu ileti işleyici işlevini çağırır.

CWinApp::OnHelpUsing

ID_HELP_USING komutunu işler.

afx_msg void OnHelpUsing();

Açıklamalar

Bu üye işlevini etkinleştirmek için sınıf ileti eşlemenize CWinApp bir ON_COMMAND( ID_HELP_USING, OnHelpUsing ) deyim eklemeniz gerekir. Uygulamanızın kullanıcısı uygulamayı standart HELP_HELPONHELP konu başlığıyla çağırmak için Yardım Kullanma komutunu seçtiğinde WinHelp çerçeve bu ileti işleyici işlevini çağırır.

CWinApp::OnIdle

Boşta kalma süresi işleme gerçekleştirmek için bu üye işlevini geçersiz kılın.

virtual BOOL OnIdle(LONG lCount);

Parametreler

lCount
Uygulamanın ileti kuyruğu boş olduğunda her seferinde OnIdle artırılan bir sayaç çağrılır. Bu sayı, her yeni ileti işlendiğinde 0 olarak sıfırlanır. Uygulamanın bir iletiyi işlemeden boşta kalma süresinin göreli uzunluğunu belirlemek için lCount parametresini kullanabilirsiniz.

Dönüş Değeri

Daha fazla boşta işlem süresi almak için sıfır olmayan; Daha fazla boşta kalma süresi gerekmiyorsa 0.

Açıklamalar

OnIdle , uygulamanın ileti kuyruğu boş olduğunda varsayılan ileti döngüsünde çağrılır. Kendi arka plan boşta işleyici görevlerinizi çağırmak için geçersiz kılmanızı kullanın.

OnIdle boşta işlem süresinin gerekli olmadığını belirtmek için 0 döndürmelidir. lCount parametresi, ileti kuyruğu boş olduğunda her OnIdle çağrıldığında artırılır ve her yeni ileti işlendiğinde 0'a sıfırlanır. Bu sayıya göre farklı boşta yordamlarınızı çağırabilirsiniz.

Aşağıda boşta döngü işleme özetlemektedir:

  1. Microsoft Foundation Sınıf Kitaplığı'ndaki ileti döngüsü ileti sırasını denetler ve bekleyen ileti bulmazsa, uygulama nesnesini çağırır OnIdle ve lCount bağımsız değişkeni olarak 0 sağlar.

  2. OnIdle bazı işlemler gerçekleştirir ve daha fazla işlem yapmak için yeniden çağrılması gerektiğini belirtmek için sıfır olmayan bir değer döndürür.

  3. İleti döngüsü, ileti sırasını yeniden denetler. Bekleyen ileti yoksa, lCount bağımsız değişkenini artırarak yeniden çağırırOnIdle.

  4. Sonunda, OnIdle tüm boşta kalan görevlerini işlemeyi tamamlar ve 0 döndürür. Bu, ileti döngüsüne, ileti kuyruğundan bir sonraki ileti alınana kadar çağrıyı OnIdle durdurmasını bildirir. Bu noktada boşta kalma döngüsü, bağımsız değişken 0 olarak ayarlandığında yeniden başlatılır.

Uygulamanız döndürülene kadar OnIdle kullanıcı girişini işleyemediği için işlemi sırasında OnIdle uzun görevler gerçekleştirmeyin.

Not

Güncelleştirmelerin OnIdle varsayılan uygulaması, menü öğeleri ve araç çubuğu düğmeleri gibi kullanıcı arabirimi nesnelerini komuta eder ve iç veri yapısı temizleme gerçekleştirir. Bu nedenle, geçersiz kılarsanız OnIdlegeçersiz kılınan sürümde ile lCount çağrısında CWinApp::OnIdle bulunması gerekir. İlk olarak tüm temel sınıf boşta işlemesini çağırın (yani, temel sınıf OnIdle 0 döndürene kadar). Temel sınıf işleme tamamlanmadan önce iş gerçekleştirmeniz gerekiyorsa, çalışmanızı yapmak için uygun lCount'ı seçmek için temel sınıf uygulamasını gözden geçirin.

İleti kuyruğundan her ileti alındığında çağrılmasını istemiyorsanızOnIdle, CWinThreadIsIdleMessage'ı geçersiz kılabilirsiniz. Bir uygulama çok kısa bir süreölçer ayarlamışsa veya sistem WM_SYSTIMER iletisini gönderiyorsa, OnIdle tekrar tekrar çağrılır ve performansı düşürür.

Örnek

Aşağıdaki iki örnekte nasıl kullanılacağı OnIdlegösterilmektedir. İlk örnek, görevleri önceliklendirmek için lCount bağımsız değişkenini kullanarak iki boşta kalan görevi işler. İlk görev yüksek önceliklidir ve mümkün olduğunda bunu yapmanız gerekir. İkinci görev daha az önemlidir ve yalnızca kullanıcı girişinde uzun bir duraklama olduğunda yapılmalıdır. temel sınıf sürümüne OnIdleyapılan çağrıyı not edin. İkinci örnek, farklı önceliklere sahip bir grup boşta görev yönetir.

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

Çerçeve, uygulamanın adlandırılmış CDocument dosyasını açmak için bu yöntemi çağırır.

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

Parametreler

lpszFileName
[in] Açılacak dosyanın adı.

bAddToMRU
[in] DOĞRU, belgenin en son dosyalardan biri olduğunu gösterir; YANLIŞ, belgenin en son dosyalardan biri olmadığını gösterir.

Dönüş Değeri

Başarılı olursa işaretçi CDocument ; aksi takdirde NULL.

Açıklamalar

Bu ada sahip bir belge zaten açıksa, bu belgeyi içeren ilk çerçeve penceresi odağı alır. Bir uygulama birden çok belge şablonunu destekliyorsa, çerçeve, belgeyi yüklemeyi denemek için uygun belge şablonunu bulmak için dosya adı uzantısını kullanır. Başarılı olursa, belge şablonu belge için bir çerçeve penceresi ve görünüm oluşturur.

Örnek

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

Komut satırını ayrıştırmak ve parametreleri birer birer CCommandLineInfo::P arseParam'a göndermek için bu üye işlevini çağırın.

void ParseCommandLine(CCommandLineInfo& rCmdInfo);

Parametreler

rCmdInfo
CCommandLineInfo nesnesine başvuru.

Açıklamalar

Uygulama Sihirbazı'nı kullanarak yeni bir MFC projesi başlattığınızda, Uygulama Sihirbazı yerel bir örneği CCommandLineInfooluşturur ve ardından Ve'yi ParseCommandLine InitInstance üye işlevinde çağırırProcessShellCommand. Komut satırı aşağıda açıklanan yolu izler:

  1. içinde InitInstanceCCommandLineInfo oluşturulduktan sonra nesnesi öğesine ParseCommandLinegeçirilir.

  2. ParseCommandLine ardından her parametre için bir kez tekrar tekrar çağırır CCommandLineInfo::ParseParam .

  3. ParseParamCCommandLineInfo nesnesini doldurur. Bu işlem daha sonra ProcessShellCommand'a geçirilir.

  4. ProcessShellCommand komut satırı bağımsız değişkenlerini ve bayraklarını işler.

Gerektiğinde doğrudan çağırabileceğinizi ParseCommandLine unutmayın.

Komut satırı bayraklarının açıklaması için bkz . CCommandLineInfo::m_nShellCommand.

CWinApp::P reTranslateMessage

Windows işlevleri TranslateMessage ve DispatchMessage'a sevk edilmeden önce pencere iletilerini filtrelemek için bu işlevi geçersiz kıl Varsayılan uygulama hızlandırıcı anahtarı çevirisi gerçekleştirir, bu nedenle geçersiz kılınan sürümde üye işlevini çağırmanız CWinApp::PreTranslateMessage gerekir.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametreler

pMsg
İşlenmek üzere iletiyi içeren bir MSG yapısının işaretçisi.

Dönüş Değeri

İleti içinde tam olarak işlendiyse PreTranslateMessage ve daha fazla işlenmemesi gerekiyorsa sıfır olmayan. İletinin normal şekilde işlenmesi gerekiyorsa sıfır.

CWinApp::P rocessMessageFilter

Çerçevenin kanca işlevi, belirli Windows iletilerini filtrelemek ve yanıtlamak için bu üye işlevini çağırır.

virtual BOOL ProcessMessageFilter(
    int code,
    LPMSG lpMsg);

Parametreler

kod
Bir kanca kodu belirtir. Bu üye işlevi, lpMsg'nin nasıl işleneceğini belirlemek için kodu kullanır.

lpMsg
Windows MSGtructure işaretçisi.

Dönüş Değeri

İleti işlenirse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Kanca işlevi, olayları uygulamanın normal ileti işlemesine gönderilmeden önce işler.

Bu gelişmiş özelliği geçersiz kılarsanız, çerçevenin kanca işlemesini korumak için temel sınıf sürümünü çağırdığınızdan emin olun.

CWinApp::P rocessShellCommand

Bu üye işlevi, rCmdInfo tarafından tanımlanan nesneden CCommandLineInfo geçirilen parametreleri kabul etmek ve belirtilen eylemi gerçekleştirmek için InitInstance tarafından çağrılır.

BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);

Parametreler

rCmdInfo
CCommandLineInfo nesnesine başvuru.

Dönüş Değeri

Kabuk komutu başarıyla işlenirse sıfır olmayan. 0 ise InitInstance'tan FALSE değerini döndür.

Açıklamalar

Uygulama Sihirbazı'nı kullanarak yeni bir MFC projesi başlattığınızda, Uygulama Sihirbazı yerel bir örneği CCommandLineInfooluşturur ve ardından üye işlevinde ve ParseCommandLine'ı InitInstance çağırırProcessShellCommand. Komut satırı aşağıda açıklanan yolu izler:

  1. içinde InitInstanceCCommandLineInfo oluşturulduktan sonra nesnesi öğesine ParseCommandLinegeçirilir.

  2. ParseCommandLineardından CCommandLineInfo::P arseParam'ı her parametre için bir kez tekrar tekrar çağırır.

  3. ParseParamCCommandLineInfo nesnesini doldurur ve nesnesine ProcessShellCommandgeçirilir.

  4. ProcessShellCommand komut satırı bağımsız değişkenlerini ve bayraklarını işler.

CCommandLineInfo::m_nShellCommand tarafından tanımlanan nesnesinin veri üyeleriCCommandLineInfo, sınıfı içinde CCommandLineInfo tanımlanan aşağıdaki numaralandırılmış türdedir.

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

Bu değerlerin her birinin kısa bir açıklaması için bkz CCommandLineInfo::m_nShellCommand. .

CWinApp::P rocessWndProcException

İşleyici, uygulamanızın ileti veya komut işleyicilerinden birinde oluşan bir özel durumu yakalamadığı her durumda çerçeve bu üye işlevini çağırır.

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

Parametreler

e
Yakalanmamış özel duruma yönelik bir işaretçi.

pMsg
Çerçevenin özel durum oluşturmasına neden olan Windows iletisi hakkında bilgi içeren bir MSGtructure.

Dönüş Değeri

Windows'a döndürülmesi gereken değer. Normalde bu, Windows iletileri için 0L, komut iletileri için 1L (TRUE) şeklindedir.

Açıklamalar

Bu üye işlevini doğrudan çağırmayın.

Bu üye işlevinin varsayılan uygulaması bir ileti kutusu oluşturur. Yakalanmayan özel durum bir menü, araç çubuğu veya hızlandırıcı komut hatasıyla kaynaklanıyorsa, ileti kutusunda "Komut başarısız oldu" iletisi görüntülenir; aksi takdirde, bir "İç uygulama hatası" iletisi görüntüler.

Özel durumlarınızın genel olarak işlenmesini sağlamak için bu üye işlevini geçersiz kılın. Yalnızca ileti kutusunun görüntülenmesini istiyorsanız temel işlevselliği çağırın.

CWinApp::Register

tarafından RegisterShellFileTypesişlenmeyen kayıt görevlerini gerçekleştirir.

virtual BOOL Register();

Dönüş Değeri

Başarıda sıfır olmayan; aksi takdirde 0.

Açıklamalar

Varsayılan uygulama yalnızca TRUE döndürür. Özelleştirilmiş kayıt adımlarını sağlamak için bu işlevi geçersiz kılın.

CWinApp::RegisterShellFileTypes

Uygulamanızın tüm belge türlerini Windows Dosya Yöneticisi'ne kaydetmek için bu üye işlevini çağırın.

void RegisterShellFileTypes(BOOL bCompat = FALSE);

Parametreler

bCompat
[in] TRUE, yazdırma ve yazdırma için kabuk komutları için kayıt girdileri ekler ve kullanıcının dosyaları doğrudan kabuktan veya dosyayı bir yazıcı nesnesine sürükleyerek yazdırmasına olanak tanır. Ayrıca bir DefaultIcon anahtarı ekler. Bu parametre varsayılan olarak geriye dönük uyumluluk için YANLIŞ'tır.

Açıklamalar

Bu, kullanıcının Dosya Yöneticisi'nin içinden uygulamanız tarafından oluşturulan bir veri dosyasını çift tıklayarak açmasına olanak tanır. Uygulamanızdaki belge şablonlarının her biri için AddDocTemplate çağrısı yaptıktan sonra çağırınRegisterShellFileTypes. Ayrıca çağırdığınızda EnableShellOpen üye işlevini çağırın RegisterShellFileTypes.

RegisterShellFileTypesuygulamanın koruduğu CDocTemplate nesneleri listesinde yinelenir ve her belge şablonu için Windows'un dosya ilişkilendirmeleri için koruduğu kayıt veritabanına girdiler ekler. Dosya Yöneticisi, kullanıcı dosyaya çift tıkladığında veri dosyasını açmak için bu girdileri kullanır. Bu, bir gönderme gereksinimini ortadan kaldırır. Uygulamanızla birlikte REG dosyası.

Not

RegisterShellFileTypes yalnızca kullanıcı programı yönetici haklarıyla çalıştırıyorsa çalışır. Programın yönetici hakları yoksa, kayıt defteri anahtarlarını değiştiremez.

Kayıt veritabanı zaten belirli bir dosya adı uzantısını başka bir dosya türüyle ilişkilendiriyorsa, yeni bir ilişkilendirme oluşturulmaz. CDocTemplate Bu bilgileri kaydetmek için gereken dizelerin biçimi için sınıfına bakın.

CWinApp::RegisterWithRestartManager

Uygulamayı yeniden başlatma yöneticisine kaydeder.

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);

Parametreler

bRegisterRecoveryCallback
[in] TRUE, uygulamanın bu örneğinin bir kurtarma geri çağırma işlevi kullandığını gösterir; YANLIŞ, olmadığını gösterir. Uygulama beklenmedik şekilde çıktığında çerçeve kurtarma geri çağırma işlevini çağırır. Daha fazla bilgi için bkz . CWinApp::ApplicationRecoveryCallback.

strRestartIdentifier
[in] Yeniden başlatma yöneticisinin bu örneğini tanımlayan benzersiz dize. Yeniden başlatma yöneticisi tanımlayıcısı, bir uygulamanın her örneği için benzersizdir.

pwzCommandLineArgs
[in] Komut satırından ek bağımsız değişkenler içeren bir dize.

dwRestartFlags
[in] Yeniden başlatma yöneticisi için isteğe bağlı bayraklar. Daha fazla bilgi için Açıklamalar bölümüne bakın.

pRecoveryCallback
[in] Kurtarma geri çağırma işlevi. Bu işlevin giriş olarak bir LPVOID parametresi alması ve DWORD döndürmesi gerekir. Varsayılan kurtarma geri çağırma işlevidir CWinApp::ApplicationRecoveryCallback.

lpvParam
[in] Kurtarma geri çağırma işlevinin giriş parametresi. Daha fazla bilgi için bkz . CWinApp::ApplicationRecoveryCallback.

dwPingInterval
[in] Yeniden başlatma yöneticisinin kurtarma geri çağırma işlevinin döndürülmesini beklediği süre. Bu parametre milisaniye cinsindendir.

dwCallbackFlags
[in] Kurtarma geri çağırma işlevine geçirilen bayraklar. Daha sonraki kullanımlar için ayrılmıştır.

Dönüş Değeri

Yöntemin başarılı olup olmadığını S_OK; aksi takdirde bir hata kodu.

Açıklamalar

Uygulamanız dosyaları otomatik kaydetme için varsayılan MFC uygulamasını kullanıyorsa, basit sürümünü RegisterWithRestartManagerkullanmanız gerekir. Uygulamanızın otomatik kaydetme davranışını özelleştirmek istiyorsanız karmaşık sürümünü RegisterWithRestartManager kullanın.

Bu yöntemi strRestartIdentifier için boş bir dizeyle çağırırsanız, RegisterWithRestartManager yeniden başlatma yöneticisinin bu örneği için benzersiz bir tanımlayıcı dizesi oluşturur.

Bir uygulama beklenmedik şekilde çıktığında, yeniden başlatma yöneticisi uygulamayı komut satırından yeniden başlatır ve isteğe bağlı bağımsız değişken olarak benzersiz yeniden başlatma tanımlayıcısını sağlar. Bu senaryoda, çerçeve iki kez çağırır RegisterWithRestartManager . İlk çağrı, dize tanımlayıcısı için boş bir dize ile CWinApp::InitInstance'tan gelir. Ardından CWinApp::P rocessShellCommand yöntemi benzersiz yeniden başlatma tanımlayıcısı ile çağrılarRegisterWithRestartManager.

Uygulamayı yeniden başlatma yöneticisine kaydettikten sonra, yeniden başlatma yöneticisi uygulamayı izler. Uygulama beklenmedik şekilde çıkarsa, yeniden başlatma yöneticisi kapatma işlemi sırasında kurtarma geri çağırma işlevini çağırır. Yeniden başlatma yöneticisi, kurtarma geri çağırma işlevinden bir yanıt için dwPingInterval'ı bekler. Kurtarma geri çağırma işlevi bu süre içinde yanıt vermezse, uygulama kurtarma geri çağırma işlevini yürütmeden çıkar.

Varsayılan olarak, dwRestartFlags desteklenmez ancak gelecekte kullanılmak üzere sağlanır. dwRestartFlags için olası değerler aşağıdaki gibidir:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::ReopenPreviousFilesAtRestart

Uygulamadan beklenmedik bir şekilde çıkıldığında yeniden başlatma yöneticisinin açık olan dosyaları yeniden açıp açmayacağını belirler.

virtual BOOL ReopenPreviousFilesAtRestart() const;

Dönüş Değeri

TRUE, yeniden başlatma yöneticisinin daha önce açık olan dosyaları yeniden açtığını gösterir; YANLIŞ, yeniden başlatma yöneticisinin olmadığını gösterir.

CWinApp::RestartInstance

Yeniden başlatma yöneticisi tarafından başlatılan bir uygulama yeniden başlatma işlemini işler.

virtual BOOL CWinApp::RestartInstance();

Dönüş Değeri

Veri kurtarma işleyicisi daha önce açık belgeleri açarsa TRUE; Veri kurtarma işleyicisinde hata varsa veya daha önce açık belge yoksa YANLIŞ.

Açıklamalar

Yeniden başlatma yöneticisi bir uygulamayı yeniden başlattığınızda, çerçeve bu yöntemi çağırır. Bu yöntem, veri kurtarma işleyicisini alır ve otomatik olarak kaydedilen dosyaları geri yükler. Bu yöntem, kullanıcının otomatik kaydedilen dosyaları geri yüklemek isteyip istemediğini belirlemek için CDataRecoveryHandler::RestoreAutosavedDocuments'ı çağırır.

CDataRecoveryHandler açık belge olmadığını belirlerse bu yöntem YANLIŞ döndürür. Açık belge yoksa, uygulama normalde başlar.

CWinApp::RestoreAutosavedFilesAtRestart

Uygulamayı yeniden başlatırken yeniden başlatma yöneticisinin otomatik olarak kaydedilen dosyaları geri yükleyip geri yüklemediğini belirler.

virtual BOOL RestoreAutosavedFilesAtRestart() const;

Dönüş Değeri

TRUE, yeniden başlatma yöneticisinin otomatik kaydedilen dosyaları geri yüklediğini gösterir; YANLIŞ, yeniden başlatma yöneticisinin olmadığını gösterir.

CWinApp::Run

Varsayılan bir ileti döngüsü sağlar.

virtual int Run();

Dönüş Değeri

int tarafından WinMaindöndürülen bir değer.

Açıklamalar

Run uygulama bir WM_QUIT iletisi alana kadar Windows iletilerini alır ve dağıtıyor. Uygulamanın ileti kuyruğu şu anda ileti içermiyorsa, Run boşta kalma süresi işleme gerçekleştirmek için OnIdle'ı çağırır. Gelen iletiler özel işlem için PreTranslateMessage üye işlevine ve ardından standart klavye çevirisi için Windows işlevine TranslateMessage gider; son olarak Windows DispatchMessage işlevi çağrılır.

Run nadiren geçersiz kılınabilir, ancak özel davranış sağlamak için geçersiz kılabilirsiniz.

CWinApp::RunAutomated

Sunucu uygulamasının bir istemci uygulaması tarafından başlatılıp başlatılmadığını gösteren " /Automation" veya " -Automation" seçeneğinin mevcut olup olmadığını belirlemek için bu işlevi çağırın.

BOOL RunAutomated();

Dönüş Değeri

Seçenek bulunduysa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Varsa, seçenek komut satırından kaldırılır. OLE Otomasyonu hakkında daha fazla bilgi için Otomasyon Sunucuları makalesine bakın.

CWinApp::RunEmbedded

Sunucu uygulamasının bir istemci uygulaması tarafından başlatılıp başlatılmadığını gösteren " /Embedding" veya " -Embedding" seçeneğinin mevcut olup olmadığını belirlemek için bu işlevi çağırın.

BOOL RunEmbedded();

Dönüş Değeri

Seçenek bulunduysa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Varsa, seçenek komut satırından kaldırılır. Ekleme hakkında daha fazla bilgi için Sunucular: Sunucu Uygulama makalesine bakın.

CWinApp::SaveAllModified

Uygulamanın ana çerçeve penceresi kapatılacağı zaman veya bir WM_QUERYENDSESSION iletisi aracılığıyla tüm belgeleri kaydetmek için çerçeve tarafından çağrılır.

virtual BOOL SaveAllModified();

Dönüş Değeri

Uygulamayı sonlandırmak güvenliyse sıfır olmayan; Uygulamayı sonlandırmak güvenli değilse 0.

Açıklamalar

Bu üye işlevinin varsayılan uygulaması, uygulamadaki değiştirilmiş tüm belgeler için sırayla CDocument::SaveModified üye işlevini çağırır.

CWinApp::SelectPrinter

Belirli bir yazıcıyı seçmek için bu üye işlevini çağırın ve Yazdır İletişim Kutusunda daha önce seçili olan yazıcıyı serbest bırakın.

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

Parametreler

hDevNames
Belirli bir yazıcının sürücü, cihaz ve çıkış bağlantı noktası adlarını tanımlayan DEVNAMEStructure tanıtıcısı.

hDevMode
Bir yazıcının cihaz başlatma ve ortamı hakkındaki bilgileri belirten DEVMODE yapısının tanıtıcısı.

bFreeOld
Önceden seçilen yazıcıyı serbest bırakın.

Açıklamalar

Hem hDevMode hem de hDevNames NULL ise, SelectPrinter geçerli varsayılan yazıcıyı kullanır.

CWinApp::SetHelpMode

Uygulamanın yardım türünü ayarlar.

void SetHelpMode(AFX_HELP_TYPE eHelpType);

Parametreler

eHelpType
Kullanılacak yardım türünü belirtir. Daha fazla bilgi için bkz . CWinApp::m_eHelpType .

Açıklamalar

Uygulamanın Yardım türünü ayarlar.

Uygulamanızın Yardım türünü HTMLHelp olarak ayarlamak için EnableHTMLHelp'i çağırabilirsiniz. çağrısı EnableHTMLHelpyaptıktan sonra, uygulamanızın yardım uygulaması olarak HTMLHelp kullanması gerekir. WinHelp'i kullanacak şekilde değiştirmek istiyorsanız, eHelpType'ı çağırabilir SetHelpMode ve olarak afxWinHelpayarlayabilirsiniz.

CWinApp::SetRegistryKey

Uygulama ayarlarının INI dosyaları yerine kayıt defterinde depolanmasına neden olur.

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

Parametreler

lpszRegistryKey
Anahtarın adını içeren bir dizenin işaretçisi.

nIDRegistryKey
Kayıt defteri anahtarının adını içeren bir dize kaynağının kimliği.

Açıklamalar

Bu işlev m_pszRegistryKey ayarlar ve daha sonra öğesinin GetProfileInt, GetProfileString, WriteProfileIntve WriteProfileString üye işlevleri CWinApptarafından kullanılır. Bu işlev çağrıldıysa, en son kullanılan (MRU) dosyaların listesi de kayıt defterinde depolanır. Kayıt defteri anahtarı genellikle bir şirketin adıdır. Şu formdaki bir anahtarda depolanır: HKEY_CURRENT_USER\Software\<company name>\<application name>\<section name>\<value name>.

CWinApp::SupportsApplicationRecovery

Yeniden başlatma yöneticisinin beklenmedik şekilde çıkan bir uygulamayı kurtarıp kurtarmayacağını belirler.

virtual BOOL SupportsApplicationRecovery() const;

Dönüş Değeri

TRUE, yeniden başlatma yöneticisinin uygulamayı kurtardiğini gösterir; YANLIŞ, yeniden başlatma yöneticisinin olmadığını gösterir.

CWinApp::SupportsAutosaveAtInterval

Yeniden başlatma yöneticisinin belgeleri düzenli aralıklarla otomatik olarak açık durumda tuşlarına basıp atmayacağını belirler.

virtual BOOL SupportsAutosaveAtInterval() const;

Dönüş Değeri

TRUE, yeniden başlatma yöneticisinin açık belgeleri otomatik olarak gösterdiğini gösterir; YANLIŞ, yeniden başlatma yöneticisinin olmadığını gösterir.

CWinApp::SupportsAutosaveAtRestart

Uygulama yeniden başlatıldığında, yeniden başlatma yöneticisinin açık belgeleri otomatik olarak alıp almadığını belirler.

virtual BOOL SupportsAutosaveAtRestart() const;

Dönüş Değeri

TRUE, uygulama yeniden başlatıldığında yeniden başlatma yöneticisinin belgeleri otomatik olarak açık durumda olduğunu gösterir; YANLIŞ, yeniden başlatma yöneticisinin olmadığını gösterir.

CWinApp::SupportsRestartManager

Uygulamanın yeniden başlatma yöneticisini destekleyip desteklemediğini belirler.

virtual BOOL SupportsRestartManager() const;

Dönüş Değeri

TRUE, uygulamanın yeniden başlatma yöneticisini desteklediğini gösterir; YANLIŞ, uygulamanın olmadığını gösterir.

CWinApp::Kaydını Kaldır

Uygulama nesnesi tarafından kaydedilen tüm dosyaların kaydını kaldırır.

virtual BOOL Unregister();

Dönüş Değeri

Başarıda sıfır olmayan; aksi takdirde 0.

Açıklamalar

İşlev, Unregister uygulama nesnesi ve Register işlevi tarafından gerçekleştirilen kaydı geri alır. Normalde her iki işlev de MFC tarafından örtük olarak çağrılır ve bu nedenle kodunuzda görünmez.

Özel kayıt kaldırma adımları gerçekleştirmek için bu işlevi geçersiz kılın.

CWinApp::UnregisterShellFileTypes

Uygulamanızın tüm belge türlerinin kaydını Windows Dosya Yöneticisi ile silmek için bu üye işlevini çağırın.

void UnregisterShellFileTypes();

CWinApp::WinHelp

WinHelp uygulamasını çağırmak için bu üye işlevini çağırın.

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

Parametreler

dwData
Ek verileri belirtir. Kullanılan değer nCmd parametresinin değerine bağlıdır.

nCmd
İstenen yardım türünü belirtir. Olası değerlerin listesi ve dwData parametresini nasıl etkiledikleri için bkz. WinHelp Windows işlevi.

Açıklamalar

Çerçeve, WinHelp uygulamasını çağırmak için bu işlevi de çağırır.

Uygulamanız sonlandırıldığında çerçeve WinHelp uygulamasını otomatik olarak kapatır.

Örnek

// 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

Uygulamanın kayıt defterinin veya öğesinin belirtilen bölümüne ikili veri yazmak için bu üye işlevini çağırın. INI dosyası.

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

Parametreler

lpszSection
Girdiyi içeren bölümü belirten null olarak sonlandırılan bir dizeye işaret eder. Bölüm yoksa oluşturulur. Bölümün adı büyük/küçük harf bağımsızdır; dize, büyük ve küçük harflerin herhangi bir bileşimi olabilir.

lpszEntry
Değerin yazılacağı girişi içeren null olarak sonlandırılan bir dizeyi gösterir. Girdi belirtilen bölümde yoksa oluşturulur.

pData
Yazılacak verileri gösterir.

nBayt
Yazılacak bayt sayısını içerir.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

Bu örnek, bir MFC uygulamasındaki herhangi bir işlevden kullanılabilecek ve GetProfileBinary kullanılabilecek bir yol WriteProfileBinary gösteren CWinApp sınıfına ulaşmak için kullanırCWinApp* pApp = AfxGetApp();.

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

Başka bir örnek için CWinApp::GetProfileBinary örneğine bakın.

CWinApp::WriteProfileInt

Belirtilen değeri uygulamanın kayıt defterinin veya öğesinin belirtilen bölümüne yazmak için bu üye işlevini çağırın. INI dosyası.

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

Parametreler

lpszSection
Girdiyi içeren bölümü belirten null olarak sonlandırılan bir dizeye işaret eder. Bölüm yoksa oluşturulur. Bölümün adı büyük/küçük harf bağımsızdır; dize, büyük ve küçük harflerin herhangi bir bileşimi olabilir.

lpszEntry
Değerin yazılacağı girişi içeren null olarak sonlandırılan bir dizeyi gösterir. Girdi belirtilen bölümde yoksa oluşturulur.

nDeğer
Yazılacak değeri içerir.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

Bu örnekCWinApp* pApp = AfxGetApp();, CWinApp sınıfına ulaşarak , WriteProfileInt, GetProfileStringve GetProfileInt işlevlerinin WriteProfileStringbir MFC uygulamasındaki herhangi bir işlevden kullanılabileceğini gösterir.

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);

Başka bir örnek için CWinApp::GetProfileInt örneğine bakın.

CWinApp::WriteProfileString

Belirtilen dizeyi uygulamanın kayıt defterinin veya öğesinin belirtilen bölümüne yazmak için bu üye işlevini çağırın. INI dosyası.

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

Parametreler

lpszSection
Girdiyi içeren bölümü belirten null olarak sonlandırılan bir dizeye işaret eder. Bölüm yoksa oluşturulur. Bölümün adı büyük/küçük harf bağımsızdır; dize, büyük ve küçük harflerin herhangi bir bileşimi olabilir.

lpszEntry
Değerin yazılacağı girişi içeren null olarak sonlandırılan bir dizeyi gösterir. Girdi belirtilen bölümde yoksa oluşturulur. Bu parametre NULL ise, lpszSection tarafından belirtilen bölüm silinir.

lpszValue
Yazılacak dizeyi gösterir. Bu parametre NULL ise, lpszEntry parametresi tarafından belirtilen girdi silinir.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

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);

Başka bir örnek için CWinApp::GetProfileInt örneğine bakın.

CWinApp::SetAppID

Uygulama için Uygulama Kullanıcı Modeli Kimliğini açıkça ayarlar. Bu yöntem, kullanıcıya herhangi bir kullanıcı arabirimi sunulmadan önce çağrılmalıdır (en iyi yer uygulama oluşturucudur).

void SetAppID(LPCTSTR lpcszAppID);

Parametreler

lpcszAppID
Uygulama Kullanıcı Modeli Kimliğini belirtir.

Açıklamalar

Ayrıca bkz.

CWinThread Sınıfı
Hiyerarşi Grafiği
Nasıl yapılır: Yeniden Başlatma Yöneticisi Desteği Ekleme