Megosztás a következőn keresztül:


CWinApp-osztály

Az alaposztály, amelyből egy Windows-alkalmazásobjektumot származtat.

Szintaxis

class CWinApp : public CWinThread

Tagok

Nyilvános konstruktorok

Név Leírás
CWinApp::CWinApp Egy CWinApp objektumot hoz létre.

Nyilvános metódusok

Név Leírás
CWinApp::AddDocTemplate Hozzáad egy dokumentumsablont az alkalmazás elérhető dokumentumsablonjainak listájához.
CWinApp::AddToRecentFileList Hozzáad egy fájlnevet a legutóbb használt (MRU) fájllistához.
CWinApp::ApplicationRecoveryCallback A keretrendszer meghívta, amikor az alkalmazás váratlanul kilép.
CWinApp::CloseAllDocuments Bezárja az összes megnyitott dokumentumot.
CWinApp::CreatePrinterDC Létrehoz egy nyomtatóeszköz-környezetet.
CWinApp::D elRegTree Törli a megadott kulcsot és annak összes alkulcsát.
CWinApp::D oMessageBox Implementálja AfxMessageBox az alkalmazáshoz.
CWinApp::D oWaitCursor Be- és kikapcsolja a várakozási kurzort.
CWinApp::EnableD2DSupport Engedélyezi az alkalmazás D2D-támogatását. Hívja meg ezt a metódust a főablak inicializálása előtt.
CWinApp::EnableHtmlHelp WinHelp helyett HTMLHelp-et implementál az alkalmazáshoz.
CWinApp::EnableTaskbarInteraction Engedélyezi a tálcán végzett interakciót.
CWinApp::ExitInstance Felülbírálás az alkalmazás leállásakor történő törléshez.
CWinApp::GetApplicationRecoveryParameter Lekéri az alkalmazás-helyreállítási módszer bemeneti paraméterét.
CWinApp::GetApplicationRecoveryPingInterval Azt az időtartamot adja vissza, amíg az újraindítás-kezelő megvárja a helyreállítási visszahívási függvény visszatérését.
CWinApp::GetApplicationRestartFlags Az újraindítás-kezelő jelzőit adja vissza.
CWinApp::GetAppRegistryKey A "\RegistryKey\ProfileName" HKEY_CURRENT_USER\"Softwarekulcsát adja vissza.
CWinApp::GetDataRecoveryHandler Lekéri az alkalmazás ezen példányához tartozó adat-helyreállítási kezelőt.
CWinApp::GetFirstDocTemplatePosition Lekéri az első dokumentumsablon pozícióját.
CWinApp::GetHelpMode Lekéri az alkalmazás által használt súgó típusát.
CWinApp::GetNextDocTemplate Lekéri egy dokumentumsablon pozícióját. Rekurzívan használható.
CWinApp::GetPrinterDeviceDefaults Lekéri az alapértelmezett nyomtatóeszközt.
CWinApp::GetProfileBinary Bináris adatokat kér le az alkalmazás egyik bejegyzéséből. INI-fájl.
CWinApp::GetProfileInt Egy egész számot kér le az alkalmazás egyik bejegyzéséből. INI-fájl.
CWinApp::GetProfileString Sztringet kér le az alkalmazás egyik bejegyzéséből. INI-fájl.
CWinApp::GetSectionKey A "\RegistryKey\AppName\lpszSection" HKEY_CURRENT_USER\"Softwarekulcsát adja vissza.
CWinApp::HideApplication Elrejti az alkalmazást az összes dokumentum bezárása előtt.
CWinApp::HtmlHelp Meghívja a HTMLHelp Windows-függvényt.
CWinApp::InitInstance Felülbírálás a Windows-példány inicializálásához, például az ablakobjektumok létrehozásához.
CWinApp::IsTaskbarInteractionEnabled Azt jelzi, hogy engedélyezve van-e a Windows 7 tálcán végzett interakciója.
CWinApp::LoadCursor Betölt egy kurzorerőforrást.
CWinApp::LoadIcon Betölt egy ikonerőforrást.
CWinApp::LoadOEMCursor Betölt egy előre definiált Windows OEM-kurzort, amelyet a OCR_ állandók a WINDOWS.H-ban határoznak meg.
CWinApp::LoadOEMIcon Betölt egy előre definiált Windows OEM-ikont, amelyet a OIC_ konstansok a WINDOWS.H-ban határoznak meg.
CWinApp::LoadStandardCursor Betölt egy Előre definiált Windows-kurzort, amelyet a IDC_ konstansok a WINDOWS.H-ban határoznak meg.
CWinApp::LoadStandardIcon Betölt egy előre definiált Windows-ikont, amelyet a IDI_ állandók a WINDOWS.H-ban határoznak meg.
CWinApp::OnDDECommand A keretrendszer meghívta egy dinamikus adatcsere (DDE) végrehajtási parancsra válaszul.
CWinApp::OnIdle Felülbírálás az alkalmazásspecifikus üresjárati idő feldolgozásához.
CWinApp::OpenDocumentFile A keretrendszer meghívta, hogy nyisson meg egy dokumentumot egy fájlból.
CWinApp::P arseCommandLine Elemzi az egyes paramétereket és jelölőket a parancssorban.
CWinApp::P reTranslateMessage Szűri az üzeneteket, mielőtt elküldené őket a Windows-függvények TranslateMessage és DispatchMessage.
CWinApp::P rocessMessageFilter Elfog bizonyos üzeneteket, mielőtt elérnék az alkalmazást.
CWinApp::P rocessShellCommand Parancssori argumentumokat és jelzőket kezel.
CWinApp::P rocessWndProcException Elfogja az alkalmazás üzenete és a parancskezelők által kidobott nem kezelt kivételeket.
CWinApp::Register Testre szabott regisztrációt hajt végre.
CWinApp::RegisterWithRestartManager Regisztrálja az alkalmazást az újraindítás-kezelővel.
CWinApp::ReopenPreviousFilesAtRestart Meghatározza, hogy az újraindítás-kezelő újra megnyitja-e a megnyitott fájlokat, amikor az alkalmazás váratlanul kilépett.
CWinApp::RestartInstance Kezeli az újraindítás-kezelő által kezdeményezett alkalmazás-újraindítást.
CWinApp::RestoreAutosavedFilesAtRestart Meghatározza, hogy az újraindítás-kezelő visszaállítja-e az automatikusan mentett fájlokat az alkalmazás újraindításakor.
CWinApp::Run Az alapértelmezett üzenethurok futtatása. Felülbírálás az üzenethurok testreszabásához.
CWinApp::RunAutomated Teszteli az alkalmazás parancssorát az /Automation beállításhoz. Elavult. Ehelyett használja a CCommandLineInfo::m_bRunAutomated értéket a ParseCommandLinemeghívása után.
CWinApp::RunEmbedded Teszteli az alkalmazás parancssorát a /Beágyazás beállításhoz. Elavult. Ehelyett használja CCommandLineInfo::m_bRunEmbedded értékét ParseCommandLinehívása után.
CWinApp::SaveAllModified Kéri a felhasználót, hogy mentse az összes módosított dokumentumot.
CWinApp::SelectPrinter Kiválaszt egy nyomtatót, amelyet a felhasználó korábban egy nyomtatási párbeszédpanelen jelölt meg.
CWinApp::SetHelpMode Beállítja és inicializálja az alkalmazás által használt súgó típusát.
CWinApp::SupportsApplicationRecovery Meghatározza, hogy az újraindítás-kezelő helyreállít-e egy váratlanul kilépett alkalmazást.
CWinApp::SupportsAutosaveAtInterval Meghatározza, hogy az újraindítás-kezelő rendszeres időközönként automatikusan mentse-e a megnyitott dokumentumokat.
CWinApp::SupportsAutosaveAtRestart Meghatározza, hogy az újraindítás-kezelő automatikusan ment-e megnyitott dokumentumokat az alkalmazás újraindításakor.
CWinApp::SupportsRestartManager Meghatározza, hogy az alkalmazás támogatja-e az újraindítás-kezelőt.
CWinApp::Regisztráció törlése Törölje az CWinApp objektum által regisztrált összes adat regisztrációját.
CWinApp::WinHelp Meghívja a WinHelp Windows-függvényt.
CWinApp::WriteProfileBinary Bináris adatokat ír az alkalmazás egyik bejegyzésére. INI-fájl.
CWinApp::WriteProfileInt Egész számot ír az alkalmazás egyik bejegyzésére. INI-fájl.
CWinApp::WriteProfileString Sztringet ír az alkalmazás egyik bejegyzésére. INI-fájl.

Védett metódusok

Név Leírás
CWinApp::EnableShellOpen Lehetővé teszi a felhasználó számára, hogy adatfájlokat nyisson meg a Windows Fájlkezelőből.
CWinApp::LoadStdProfileSettings Betölti a standard . INI-fájlbeállítások, és engedélyezi az MRU-fájllista funkciót.
CWinApp::OnContextHelp Kezeli a SHIFT+F1 súgót az alkalmazásban.
CWinApp::OnFileNew Implementálja a ID_FILE_NEW parancsot.
CWinApp::OnFileOpen Implementálja a ID_FILE_OPEN parancsot.
CWinApp::OnFilePrintSetup Implementálja a ID_FILE_PRINT_SETUP parancsot.
CWinApp::OnHelp Kezeli az F1 súgóját az alkalmazásban (az aktuális környezet használatával).
CWinApp::OnHelpFinder Kezeli a ID_HELP_FINDER és ID_DEFAULT_HELP parancsokat.
CWinApp::OnHelpIndex Kezeli a ID_HELP_INDEX parancsot, és egy alapértelmezett súgótémakört biztosít.
CWinApp::OnHelpUsing Kezeli a ID_HELP_USING parancsot.
CWinApp::RegisterShellFileTypes Regisztrálja az alkalmazás összes dokumentumtípusát a Windows File Managerrel.
CWinApp::SetAppID Explicit módon állítja be az alkalmazás felhasználói modellazonosítóját. Ezt a metódust a felhasználói felület felhasználói felületének bemutatása előtt kell meghívni (a legjobb hely az alkalmazáskonstruktor).
CWinApp::SetRegistryKey Az alkalmazásbeállítások tárolása a beállításjegyzékben történik ahelyett, hogy a beállításjegyzékben lenne. INI-fájlok.
CWinApp::UnregisterShellFileTypes Törölje az alkalmazás összes dokumentumtípusának regisztrációját a Windows File Managerrel.

Nyilvános adatok tagjai

Név Leírás
CWinApp::m_bHelpMode Azt jelzi, hogy a felhasználó súgókörnyezeti módban van-e (általában a SHIFT+F1 billentyűkombinációval hívható meg).
CWinApp::m_eHelpType Az alkalmazás által használt súgó típusát adja meg.
CWinApp::m_hInstance Az alkalmazás aktuális példányát azonosítja.
CWinApp::m_lpCmdLine Egy null értékű sztringre mutat, amely megadja az alkalmazás parancssorát.
CWinApp::m_nCmdShow Megadja, hogy az ablak hogyan jelenjen meg kezdetben.
CWinApp::m_pActiveWnd Mutasson a tárolóalkalmazás főablakára, ha egy OLE-kiszolgáló aktív.
CWinApp::m_pszAppID Alkalmazásfelhasználói modell azonosítója.
CWinApp::m_pszAppName Az alkalmazás nevét adja meg.
CWinApp::m_pszExeName Az alkalmazás modulneve.
CWinApp::m_pszHelpFilePath Az alkalmazás súgófájljának elérési útja.
CWinApp::m_pszProfileName Az alkalmazás . INI-fájlnév.
CWinApp::m_pszRegistryKey Az alkalmazásprofil-beállítások tárolására szolgáló teljes beállításkulcs meghatározására szolgál.

Védett adattagok

Név Leírás
CWinApp::m_dwRestartManagerSupportFlags Az újraindítás-kezelő viselkedését meghatározó jelzők.
CWinApp::m_nAutosaveInterval Az automatikus mentések közötti idő ezredmásodpercben.
CWinApp::m_pDataRecoveryHandler Mutasson az alkalmazás adat-helyreállítási kezelőjének gombra.

Megjegyzések

Az alkalmazásobjektumok tagfüggvényeket biztosítanak az alkalmazás (és annak minden példánya) inicializálásához és az alkalmazás futtatásához.

A Microsoft Foundation-osztályokat használó alkalmazások csak egy objektumot tartalmazhatnak CWinApp. Ez az objektum más C++ globális objektumok létrehozásakor jön létre, és már elérhető, amikor a Windows meghívja a WinMain függvényt, amelyet a Microsoft Foundation osztálykönyvtára biztosít. Deklarálja a származtatott CWinApp objektumot globális szinten.

Amikor egy alkalmazásosztályt CWinAppszármaztat, felülbírálja az InitInstance tagfüggvényt az alkalmazás fő ablakobjektumának létrehozásához.

A CWinApp tagfüggvények mellett a Microsoft Foundation osztálykönyvtára a következő globális függvényeket biztosítja a CWinApp objektum és egyéb globális információk eléréséhez:

  • AfxGetApp A CWinApp objektumra mutató mutatót kap.

  • AfxGetInstanceHandle Lekért egy leírót az aktuális alkalmazáspéldányhoz.

  • AfxGetResourceHandle Lekért egy leírót az alkalmazás erőforrásaihoz.

  • AfxGetAppName Az alkalmazás nevét tartalmazó sztringre mutató mutatót kap. Másik lehetőségként, ha az CWinApp objektumra mutató mutatóval rendelkezik, a m_pszExeName használatával lekérheti az alkalmazás nevét.

További információt CWinApp: Az alkalmazásosztály a CWinApp osztályról, beleértve az alábbiak áttekintését:

  • CWinAppalkalmazásvarázsló által írt - származtatott kód.

  • CWinAppszerepköre az alkalmazás végrehajtási sorrendjében.

  • CWinAppalapértelmezett tagfüggvény-implementációk.

  • CWinAppkulcs felülírható.

A m_hPrevInstance adattag már nem létezik. Annak megállapításához, hogy az alkalmazás egy másik példánya fut-e, használjon egy névvel ellátott mutexet. Ha a mutex megnyitása sikertelen, akkor az alkalmazásnak nincsenek más példányai.

Öröklési hierarchia

CObject

CCmdTarget

CWinThread

CWinApp

Követelmények

fejléc: afxwin.h

CWinApp::AddDocTemplate

Hívja meg ezt a tagfüggvényt, hogy adjon hozzá egy dokumentumsablont az alkalmazás által karbantartott elérhető dokumentumsablonok listájához.

void AddDocTemplate(CDocTemplate* pTemplate);

Paraméterek

pTemplate
A hozzáadni kívánt CDocTemplate mutató.

Megjegyzések

Mielőtt meghívja RegisterShellFileTypes, minden dokumentumsablont hozzá kell adnia egy alkalmazáshoz.

Példa

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

Hívja meg ezt a tagfüggvényt lpszPathName hozzáadásához az MRU-fájllistához.

virtual void AddToRecentFileList(LPCTSTR lpszPathName);

Paraméterek

lpszPathName
A fájl elérési útja.

Megjegyzések

A tagfüggvény használata előtt a LoadStdProfileSettings tagfüggvényt kell meghívnia az aktuális MRU-fájllista betöltéséhez.

A keretrendszer meghívja ezt a tagfüggvényt, amikor megnyit egy fájlt, vagy végrehajtja a Mentés másként parancsot egy új névvel rendelkező fájl mentéséhez.

Példa

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

A keretrendszer meghívta, amikor az alkalmazás váratlanul kilép.

virtual DWORD ApplicationRecoveryCallback(LPVOID lpvParam);

Paraméterek

lpvParam
[in] Jövőbeli használatra fenntartva.

Visszaadott érték

0, ha ez a módszer sikeres; hiba esetén a nonzero értéket.

Megjegyzések

Ha az alkalmazás támogatja az újraindítás-kezelőt, a keretrendszer meghívja ezt a függvényt, amikor az alkalmazás váratlanul kilép.

A ApplicationRecoveryCallback alapértelmezett implementációja a CDataRecoveryHandler használatával menti az aktuálisan megnyitott dokumentumok listáját a beállításjegyzékbe. Ez a metódus nem ment automatikusan fájlokat.

A viselkedés testreszabásához felülbírálja ezt a függvényt egy származtatott CWinApp-osztályban, vagy adja át a saját alkalmazás-helyreállítási metódusát paraméterként a CWinApp::RegisterWithRestartManager.

CWinApp::CloseAllDocuments

A tagfüggvény meghívásával zárja be az összes megnyitott dokumentumot a kilépés előtt.

void CloseAllDocuments(BOOL bEndSession);

Paraméterek

bEndSession
Megadja, hogy a Windows-munkamenet befejeződik-e. Igaz, ha a munkamenet befejeződött; egyéb esetben HAMIS.

Megjegyzések

A CloseAllDocumentshívása előtt hívja meg HideApplication.

CWinApp::CreatePrinterDC

A tagfüggvény meghívásával hozzon létre egy nyomtatóeszköz-környezetet (DC) a kiválasztott nyomtatóból.

BOOL CreatePrinterDC(CDC& dc);

Paraméterek

dc
Egy nyomtatóeszköz-környezetre mutató hivatkozás.

Visszaadott érték

Nonzero, ha a nyomtatóeszköz környezete sikeresen létrejött; egyéb esetben 0.

Megjegyzések

CreatePrinterDC inicializálja a hivatkozással átadott eszközkörnyezetet, így nyomtatásra használhatja.

Ha a függvény sikeres, a nyomtatás befejezése után meg kell semmisítenie az eszközkörnyezetet. Engedélyezheti a CDC objektumának destruktorát, vagy explicit módon is megteheti, ha meghívja CDC::D eleteDC.

CWinApp::CWinApp

Létrehoz egy CWinApp objektumot, és átadja lpszAppName, amely az alkalmazás neveként lesz tárolva.

CWinApp(LPCTSTR lpszAppName = NULL);

Paraméterek

lpszAppName
Null értékű sztring, amely a Windows által használt alkalmazásnevet tartalmazza. Ha ez az argumentum nincs megadva, vagy NULL értékű, CWinApp a végrehajtható fájl erőforrás-sztringjének AFX_IDS_APP_TITLE vagy fájlnevét használja.

Megjegyzések

A CWinApp-származtatott osztály egy globális objektumát kell létrehoznia. Az alkalmazásban csak egy CWinApp objektum lehet. A konstruktor a CWinApp objektumra mutató mutatót tárol, hogy WinMain meghívhassa az objektum tagfüggvényeit az alkalmazás inicializálásához és futtatásához.

CWinApp::D elRegTree

Töröl egy adott beállításkulcsot és annak összes alkulcsát.

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

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

Paraméterek

hParentKey
Kezelje a beállításkulcsot.

strKeyName
A törölni kívánt beállításkulcs neve.

pTM-
Mutasson a CAtlTransactionManager objektumra.

Visszaadott érték

Ha a függvény sikeres, a visszatérési érték ERROR_SUCCESS. Ha a függvény meghibásodik, a visszatérési érték egy, a Winerror.h fájlban definiált nonzero hibakód.

Megjegyzések

Hívja meg ezt a függvényt a megadott kulcs és alkulcsainak törléséhez.

CWinApp::D oMessageBox

A keretrendszer meghívja ezt a tagfüggvényt az AfxMessageBox globális függvény üzenetmezőjének implementálásához.

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

Paraméterek

lpszPrompt
Az üzenetmezőben lévő szöveg címe.

nType
Az üzenetmező stílus.

nIDPrompt
Egy súgókörnyezeti sztring indexe.

Visszaadott érték

Ugyanazokat az értékeket adja vissza, mint AfxMessageBox.

Megjegyzések

Ne hívja meg ezt a tagfüggvényt üzenetmező megnyitásához; helyett használja AfxMessageBox.

A tagfüggvény felülbírálása a AfxMessageBox hívások alkalmazásszintű feldolgozásának testreszabásához.

CWinApp::D oWaitCursor

Ezt a tagfüggvényt a keretrendszer meghívja CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursorés CCmdTarget::RestoreWaitCursor.

virtual void DoWaitCursor(int nCode);

Paraméterek

nCode
Ha ez a paraméter 1, megjelenik egy várakozási kurzor. Ha 0, a várakozási kurzor a hivatkozásszám növelése nélkül lesz visszaállítva. Ha -1, a várakozási kurzor véget ér.

Megjegyzések

Az alapértelmezett érték egy homokóra-kurzort implementál. DoWaitCursor fenntartja a hivatkozásszámot. Ha pozitív, megjelenik a homokóra-kurzor.

Bár általában nem hívja meg közvetlenül DoWaitCursor, felülírhatja ezt a tagfüggvényt a várakozási kurzor módosításához vagy további feldolgozáshoz a várakozási kurzor megjelenítése közben.

A várakozási kurzor egyszerűbb és egyszerűbb implementálásához használja a CWaitCursor.

Példa

// 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 szükséges.

Engedélyezi az alkalmazás D2D-támogatását. Hívja meg ezt a metódust a főablak inicializálása előtt.

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

Paraméterek

d2dFactoryType
A D2D-gyár szálmodellje és az általa létrehozott erőforrások.

writeFactoryType
Egy érték, amely meghatározza, hogy az írás-előállító objektum meg lesz-e osztva vagy elkülönítve

Visszaadott érték

IGAZ értéket ad vissza, ha a D2D-támogatás engedélyezve volt, HAMIS – egyébként

CWinApp::EnableHtmlHelp

Hívja meg ezt a tagfüggvényt a CWinApp-származtatott osztály konstruktorából, hogy htmlHelp-t használjon az alkalmazás segítségére.

void EnableHtmlHelp();

Megjegyzések

CWinApp::EnableShellOpen

Hívja meg ezt a függvényt, általában a InitInstance felülbírálásából, hogy az alkalmazás felhasználói megnyithassák az adatfájlokat, amikor duplán kattintanak a fájlokra a Windows Fájlkezelőben.

void EnableShellOpen();

Megjegyzések

Hívja meg a RegisterShellFileTypes tagfüggvényt ezzel a függvénnyel együtt, vagy adjon meg egy . REG-fájl az alkalmazással a dokumentumtípusok manuális regisztrációjához.

Példa

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

Engedélyezi a tálcán végzett interakciót.

BOOL EnableTaskbarInteraction(BOOL bEnable = TRUE);

Paraméterek

bEnable
Megadja, hogy a Windows 7 tálcával való interakció engedélyezve legyen (IGAZ) vagy le legyen tiltva (HAMIS).

Visszaadott érték

IGAZ értéket ad vissza, ha a tálca interakciója engedélyezhető vagy letiltható.

Megjegyzések

Ezt a metódust a főablak létrehozása előtt kell meghívni, ellenkező esetben hamis értéket állít be és ad vissza.

CWinApp::ExitInstance

A keretrendszer meghívta a Run tagfüggvényből, hogy kilépjen az alkalmazás ezen példányából.

virtual int ExitInstance();

Visszaadott érték

Az alkalmazás kilépési kódja; A 0 nem jelez hibát, a 0-nál nagyobb értékek pedig hibát jeleznek. Ez az érték a WinMainvisszatérési értékeként használatos.

Megjegyzések

Ne hívja meg ezt a tagfüggvényt bárhonnan, csak a Run tagfüggvényen belül.

A függvény alapértelmezett implementációja keretrendszerbeállításokat ír az alkalmazáshoz. INI-fájl. Felülbírálja ezt a függvényt az alkalmazás leállásakor történő törléshez.

Példa

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

   DoCleanup();

   return CWinApp::ExitInstance();
}

CWinApp::GetApplicationRecoveryParameter

Lekéri az alkalmazás-helyreállítási módszer bemeneti paraméterét.

virtual LPVOID GetApplicationRecoveryParameter();

Visszaadott érték

Az alkalmazás-helyreállítási módszer alapértelmezett bemeneti paramétere.

Megjegyzések

A függvény alapértelmezett viselkedése NULL értéket ad vissza.

További információ: CWinApp::ApplicationRecoveryCallback.

CWinApp::GetApplicationRecoveryPingInterval

Azt az időtartamot adja vissza, amíg az újraindítás-kezelő megvárja a helyreállítási visszahívási függvény visszatérését.

virtual DWORD GetApplicationRecoveryPingInterval();

Visszaadott érték

Az idő hossza ezredmásodpercben.

Megjegyzések

Amikor egy újraindításkezelőben regisztrált alkalmazás váratlanul kilép, az alkalmazás megpróbálja menteni a megnyitott dokumentumokat, és meghívja a helyreállítási visszahívási függvényt. Az alapértelmezett helyreállítási visszahívási függvény CWinApp::ApplicationRecoveryCallback.

A keretrendszer által a helyreállítási visszahívási függvény visszatérésére váró időtartam a pingelési időköz. A pingelési időköz testreszabásához felül kell bírálnia CWinApp::GetApplicationRecoveryPingInterval, vagy egyéni értéket kell megadnia a RegisterWithRestartManager.

CWinApp::GetApplicationRestartFlags

Az újraindítás-kezelő jelzőit adja vissza.

virtual DWORD GetApplicationRestartFlags();

Visszaadott érték

Az újraindítás-kezelő jelzői. Az alapértelmezett implementáció 0 értéket ad vissza.

Megjegyzések

Az újraindítás-kezelő jelzőinek nincs hatása az alapértelmezett implementációra. Ezek a jövőbeli használatra szolgálnak.

Amikor regisztrálja az alkalmazást az újraindítás-kezelőnél, a jelölőket a CWinApp::RegisterWithRestartManager használatával állíthatja be.

Az újraindításkezelő jelzőinek lehetséges értékei a következők:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::GetAppRegistryKey

A "\RegistryKey\ProfileName" HKEY_CURRENT_USER\"Softwarekulcsát adja vissza.

HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL);

Paraméterek

pTM-
Mutasson egy CAtlTransactionManager objektumra.

Visszaadott érték

Alkalmazáskulcs, ha a függvény sikeres; ellenkező esetben NULL.

Megjegyzések

CWinApp::GetDataRecoveryHandler

Lekéri az alkalmazás ezen példányához tartozó adat-helyreállítási kezelőt.

virtual CDataRecoveryHandler *GetDataRecoveryHandler();

Visszaadott érték

Az alkalmazás ezen példányának adat-helyreállítási kezelője.

Megjegyzések

Minden újraindításkezelőt használó alkalmazásnak rendelkeznie kell a CDataRecoveryHandler osztályegy példányával. Ez az osztály felelős a megnyitott dokumentumok figyeléséért és a fájlok automatikus mentéséért. A CDataRecoveryHandler viselkedése az újraindítás-kezelő konfigurációjától függ. További információ: CDataRecoveryHandler osztály.

Ez a metódus null értéket ad vissza a Windows Vista-nál korábbi operációs rendszereken. Az újraindítás-kezelő a Windows Vista-nál korábbi operációs rendszereken nem támogatott.

Ha az alkalmazás jelenleg nem rendelkezik adat-helyreállítási kezelővel, ez a metódus létrehoz egyet, és egy mutatót ad vissza.

CWinApp::GetFirstDocTemplatePosition

Lekéri az alkalmazás első dokumentumsablonjának pozícióját.

POSITION GetFirstDocTemplatePosition() const;

Visszaadott érték

A POSITION érték, amely iterációhoz vagy objektummutató lekéréséhez használható; NULL érték, ha a lista üres.

Megjegyzések

A GetNextDocTemplate hívásban visszaadott POSITION értékkel kérje le az első CDocTemplate objektumot.

CWinApp::GetHelpMode

Lekéri az alkalmazás által használt súgó típusát.

AFX_HELP_TYPE GetHelpMode();

Visszaadott érték

Az alkalmazás által használt súgótípus. További információt CWinApp::m_eHelpType című témakörben talál.

CWinApp::GetNextDocTemplate

Lekéri posáltal azonosított dokumentumsablont, majd beállítja pos a POSITION értékre.

CDocTemplate* GetNextDocTemplate(POSITION& pos) const;

Paraméterek

pos
Hivatkozás a GetFirstDocTemplatePosition GetNextDocTemplate vagyegy korábbi hívás által visszaadott POSITION értékre. A hívás a következő pozícióba frissíti az értéket.

Visszaadott érték

Mutató egy CDocTemplate objektumra.

Megjegyzések

Ha a kezdeti pozíciót GetFirstDocTemplatePositionhívással hozza létre, használhatja a GetNextDocTemplate továbbítási ciklusban.

Győződjön meg arról, hogy a POSITION értéke érvényes. Ha érvénytelen, akkor a Microsoft Foundation osztálytár hibakeresési verziója érvényes.

Ha a lekért dokumentumsablon az utolsó elérhető, akkor a pos új értéke NULL értékre van állítva.

CWinApp::GetPrinterDeviceDefaults

A tagfüggvény meghívásával előkészíthet egy nyomtatóeszköz-környezetet a nyomtatáshoz.

BOOL GetPrinterDeviceDefaults(struct tagPDA* pPrintDlg);

Paraméterek

pPrintDlg
Mutató egy PRINTDLG struktúrára.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Lekéri az aktuális nyomtató alapértelmezett értékét a Windowsból. INI-fájl szükség szerint, vagy a felhasználó által beállított utolsó nyomtatókonfigurációt használja a Nyomtatási beállításban.

Példa

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

Hívja meg ezt a tagfüggvényt, hogy bináris adatokat kérjen le egy bejegyzésből az alkalmazás beállításjegyzékének vagy egy adott szakaszában. INI-fájl.

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

Paraméterek

lpszSection
Egy null értékű sztringre mutat, amely megadja a bejegyzést tartalmazó szakaszt.

lpszEntry
Egy null értékű sztringre mutat, amely tartalmazza azt a bejegyzést, amelynek értékét le kell kérni.

ppData
Mutasson egy mutatóra, amely megkapja az adatok címét.


Egy olyan UINT-ra mutat, amely megkapja az adatok méretét (bájtban).

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény nem különbözteti meg a kis- és nagybetűket, ezért az lpszSection és lpszEntry paraméterek sztringjei eltérhetnek.

Jegyzet

GetProfileBinary lefoglal egy puffert, és visszaadja a címét * ppData. A hívó felelős a puffer felszabadításáért törlési []használatával.

Fontos

A függvény által visszaadott adatok nem feltétlenül null értékűek, és a hívónak végre kell hajtania az ellenőrzést. További információ: Puffertúllépések elkerülése.

Példa

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

További példa: CWinApp::WriteProfileBinary.

CWinApp::GetProfileInt

Hívja meg ezt a tagfüggvényt egy egész szám értékének lekéréséhez az alkalmazás beállításjegyzékének vagy egy adott szakaszának egy bejegyzéséből. INI-fájl.

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

Paraméterek

lpszSection
Egy null értékű sztringre mutat, amely megadja a bejegyzést tartalmazó szakaszt.

lpszEntry
Egy null értékű sztringre mutat, amely tartalmazza azt a bejegyzést, amelynek értékét le kell kérni.

nDefault
Megadja az alapértelmezett visszaadandó értéket, ha a keretrendszer nem találja a bejegyzést.

Visszaadott érték

A megadott bejegyzést követő karakterlánc egész száma, ha a függvény sikeres. A visszatérési érték az nDefault paraméter értéke, ha a függvény nem találja a bejegyzést. A visszatérési érték 0, ha a megadott bejegyzésnek megfelelő érték nem egész szám.

Ez a tagfüggvény támogatja a hexadecimális jelölést a . INI-fájl. Aláírt egész szám lekérésekor az értéket egy intkell megadnia.

Megjegyzések

Ez a tagfüggvény nem különbözteti meg a kis- és nagybetűket, ezért az lpszSection és lpszEntry paraméterek sztringjei eltérhetnek.

Fontos

A függvény által visszaadott adatok nem feltétlenül null értékűek, és a hívónak végre kell hajtania az ellenőrzést. További információ: Puffertúllépések elkerülése.

Példa

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

További példa: CWinApp::WriteProfileInt.

CWinApp::GetProfileString

Hívja meg ezt a tagfüggvényt az alkalmazás beállításjegyzékében vagy a megadott szakaszban lévő bejegyzéshez társított sztring lekéréséhez. INI-fájl.

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

Paraméterek

lpszSection
Egy null értékű sztringre mutat, amely megadja a bejegyzést tartalmazó szakaszt.

lpszEntry
Egy null értékű sztringre mutat, amely tartalmazza azt a bejegyzést, amelynek a sztringjét le kell kérni. Ez az érték nem lehet NULL.

lpszDefault
Az adott bejegyzés alapértelmezett sztringértékére mutat, ha a bejegyzés nem található az inicializálási fájlban.

Visszaadott érték

A visszatérési érték az alkalmazás sztringje. INI-fájl vagy lpszDefault, ha a sztring nem található. A keretrendszer által támogatott maximális sztringhossz _MAX_PATH. Ha lpszDefault NULL értékű, a visszatérési érték egy üres sztring.

Megjegyzések

Fontos

A függvény által visszaadott adatok nem feltétlenül null értékűek, és a hívónak végre kell hajtania az ellenőrzést. További információ: Puffertúllépések elkerülése.

Példa

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

Egy másik példa: CWinApp::GetProfileInt.

CWinApp::GetSectionKey

A "\RegistryKey\AppName\lpszSection" HKEY_CURRENT_USER\"Softwarekulcsát adja vissza.

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

Paraméterek

lpszSection
A lekért kulcs neve.

pTM-
Mutasson egy CAtlTransactionManager objektumra.

Visszaadott érték

Szakaszkulcs, ha a függvény sikeres; ellenkező esetben NULL.

Megjegyzések

CWinApp::HideApplication

Hívja meg ezt a tagfüggvényt, hogy elrejtsen egy alkalmazást a megnyitott dokumentumok bezárása előtt.

void HideApplication();

CWinApp::HtmlHelp

Hívja meg ezt a tagfüggvényt a HTMLHelp-alkalmazás meghívásához.

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

Paraméterek

dwData
További adatokat ad meg. A használt érték az nCmd paraméter értékétől függ. Alapértelmezés szerint 0x000F, ami azt jelenti, hogy HH_HELP_CONTEXT.

nCmd
Megadja a kért súgó típusát. A lehetséges értékek és a dwData paraméterre gyakorolt hatásukról a HtmlHelpWvagy a HtmlHelpA API-függvények windowsos SDK-ban ismertetett uCommand paraméterében olvashat.

Megjegyzések

A keretrendszer a HTMLHelp-alkalmazás meghívására is meghívja ezt a függvényt.

A keretrendszer automatikusan bezárja a HTMLHelp-alkalmazást, amikor az alkalmazás leáll.

CWinApp::InitInstance

A Windows lehetővé teszi ugyanazon program több példányának egyidejű futtatását.

virtual BOOL InitInstance();

Visszaadott érték

Nonzero, ha az inicializálás sikeres; egyéb esetben 0.

Megjegyzések

Az alkalmazás inicializálása elméletileg két részre van osztva: az egyszeri alkalmazás inicializálása, amely a program első futtatásakor történik, és a példány inicializálása, amely minden alkalommal fut, amikor a program egy példánya fut, beleértve az első alkalommal is. Ezt a függvényt a keretrendszer WinMain implementációja hívja meg.

Felülbírálja a InitInstance, hogy inicializálja a Windows rendszerben futó alkalmazás minden új példányát. Általában felülbírálja a InitInstance a főablak-objektum létrehozásához, és a CWinThread::m_pMainWnd adattagot arra az ablakra állítja. A tagfüggvény felülírásával kapcsolatos további információkért lásd CWinApp: The Application Class.

Jegyzet

Az MFC-alkalmazásokat egyszálas lakásként (STA) kell inicializálni. Ha CoInitializeEx hív meg a InitInstance felülbírálásában, adja meg a COINIT_APARTMENTTHREADED (COINIT_MULTITHREADED helyett).

Példa

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

Azt jelzi, hogy engedélyezve van-e a Windows 7 tálcán végzett interakciója.

virtual BOOL IsTaskbarInteractionEnabled();

Visszaadott érték

IGAZ értéket ad vissza, ha EnableTaskbarInteraction lett meghívva, és az operációs rendszer Windows 7 vagy újabb.

Megjegyzések

A tálcán végzett interakció azt jelenti, hogy az MDI-alkalmazás az MDI-gyermekek tartalmát külön lapozott miniatűrökben jeleníti meg, amelyek akkor jelennek meg, amikor az egérmutató az alkalmazás tálcája gombra mutat.

CWinApp::LoadCursor

Betölti az lpszResourceName vagy nIDResource által megadott kurzorerőforrást az aktuális végrehajtható fájlból.

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

Paraméterek

lpszResourceName
A kurzorerőforrás nevét tartalmazó null értékű sztringre mutat. Ehhez az argumentumhoz használhat CString.

nIDResource
A kurzorerőforrás azonosítója. Az erőforrások listáját a LoadCursor a Windows SDK-ban találja.

Visszaadott érték

A kurzorhoz mutató fogópont, ha sikeres; ellenkező esetben NULL.

Megjegyzések

LoadCursor csak akkor tölti be a kurzort a memóriába, ha korábban még nem töltötte be; ellenkező esetben lekéri a meglévő erőforrás leíróját.

Az előre definiált Windows-kurzorok eléréséhez használja a LoadStandardCursor vagy LoadOEMCursor tagfüggvényt.

Példa

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

Betölti az lpszResourceName vagy nIDResource által megadott ikonerőforrást a végrehajtható fájlból.

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

Paraméterek

lpszResourceName
Az ikonerőforrás nevét tartalmazó null értékű sztringre mutat. Ehhez az argumentumhoz CString is használhat.

nIDResource
Az ikonerőforrás azonosítószáma.

Visszaadott érték

Egy fogópont az ikonhoz, ha sikeres; ellenkező esetben NULL.

Megjegyzések

LoadIcon csak akkor tölti be az ikont, ha korábban még nem töltötte be; ellenkező esetben lekéri a meglévő erőforrás leíróját.

Az előre definiált Windows-ikonok eléréséhez használhatja a LoadStandardIcon vagy LoadOEMIcon tagfüggvényt.

Jegyzet

Ez a tagfüggvény meghívja a Win32 API-függvényt LoadIcon, amely csak olyan ikont tud betölteni, amelynek mérete megfelel a SM_CXICON és SM_CYICON rendszermetrikaértékeknek.

CWinApp::LoadOEMCursor

Betölti az nIDCursoráltal megadott Előre definiált Windows-kurzorerőforrást.

HCURSOR LoadOEMCursor(UINT nIDCursor) const;

Paraméterek

nIDCursor
Egy OCR_ jegyzékállandó azonosítója, amely előre definiált Windows-kurzort ad meg. A WINDOWS.H OCR_ állandóihoz való hozzáféréshez #include \<afxwin.h> előtt #define OEMRESOURCE kell rendelkeznie.

Visszaadott érték

A kurzorhoz mutató fogópont, ha sikeres; ellenkező esetben NULL.

Megjegyzések

Az előre definiált Windows-kurzorok eléréséhez használja a LoadOEMCursor vagy LoadStandardCursor tagfüggvényt.

Példa

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

Betölti az nIDIconáltal megadott Windows előre definiált ikonerőforrást.

HICON LoadOEMIcon(UINT nIDIcon) const;

Paraméterek

nIDIcon
Egy OIC_ jegyzékállandó azonosítója, amely előre definiált Windows-ikont ad meg. A WINDOWS.H OIC_ konstansainak eléréséhez #include \<afxwin.h> előtt #define OEMRESOURCE kell rendelkeznie.

Visszaadott érték

Egy fogópont az ikonhoz, ha sikeres; ellenkező esetben NULL.

Megjegyzések

Az előre definiált Windows-ikonok eléréséhez használja a LoadOEMIcon vagy LoadStandardIcon tagfüggvényt.

CWinApp::LoadStandardCursor

Betölti a Windows előre definiált kurzorerőforrását, amelyet lpszCursorName határoz meg.

HCURSOR LoadStandardCursor(LPCTSTR lpszCursorName) const;

Paraméterek

lpszCursorName
Egy IDC_ jegyzékállandó azonosítója, amely előre definiált Windows-kurzort ad meg. Ezek az azonosítók a WINDOWS.H-ban vannak definiálva. Az alábbi lista az lpszCursorNamelehetséges előre definiált értékeit és jelentéseit mutatja be:

  • IDC_ARROW Standard nyílmutató

  • IDC_IBEAM Szabványos szövegbeszúrási kurzor

  • IDC_WAIT A Windows időigényes feladat végrehajtásakor használt homokóra-kurzor

  • IDC_CROSS Hajas kurzor kijelölése

  • IDC_UPARROW nyíl, amely egyenesen felfelé mutat

  • IDC_SIZE Elavult és nem támogatott; IDC_SIZEALL használata

  • IDC_SIZEALL egy négyágú nyíl. Az ablak átméretezéséhez használandó kurzor.

  • IDC_ICON Elavult és nem támogatott. Használja a IDC_ARROW.

  • IDC_SIZENWSE Kétirányú nyíl bal felső és jobb alsó sarkában

  • IDC_SIZENESW Kétirányú nyíl jobb felső és bal alsó végén

  • IDC_SIZEWE Vízszintes kétirányú nyíl

  • IDC_SIZENS Függőleges kétirányú nyíl

Visszaadott érték

A kurzorhoz mutató fogópont, ha sikeres; ellenkező esetben NULL.

Megjegyzések

Az előre definiált Windows-kurzorok eléréséhez használja a LoadStandardCursor vagy LoadOEMCursor tagfüggvényt.

Példa

HCURSOR hCursor;

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

CWinApp::LoadStandardIcon

Betölti a Windows előre definiált ikonerőforrását, amelyet lpszIconName határoz meg.

HICON LoadStandardIcon(LPCTSTR lpszIconName) const;

Paraméterek

lpszIconName
Egy előre definiált Windows-ikont meghatározó jegyzékkonstans-azonosító. Ezek az azonosítók a WINDOWS.H-ban vannak definiálva. A lehetséges előre definiált értékek és azok leírásának listáját a Windows SDK LoadIconlpIconName paraméterében találja.

Visszaadott érték

Egy fogópont az ikonhoz, ha sikeres; ellenkező esetben NULL.

Megjegyzések

Az előre definiált Windows-ikonok eléréséhez használja a LoadStandardIcon vagy LoadOEMIcon tagfüggvényt.

CWinApp::LoadStdProfileSettings

Hívja meg ezt a tagfüggvényt az InitInstance tagfüggvényből, hogy engedélyezze és betöltse a legutóbb használt (MRU-) fájlok listáját és az utolsó előnézeti állapotot.

void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);

Paraméterek

nMaxMRU
A nyomon követendő legutóbb használt fájlok száma.

Megjegyzések

Ha nMaxMRU 0, akkor a rendszer nem tart fenn MRU-listát.

CWinApp::m_bHelpMode

IGAZ, ha az alkalmazás súgókörnyezeti módban van (hagyományosan a SHIFT +F1 billentyűkombinációval hívható meg); egyéb esetben HAMIS.

BOOL m_bHelpMode;

Megjegyzések

Súgókörnyezet módban a kurzor kérdőjelté válik, és a felhasználó áthelyezheti a képernyőn. Vizsgálja meg ezt a jelzőt, ha speciális kezelést szeretne megvalósítani a súgó módban. m_bHelpMode nyilvános bool típusú változó.

CWinApp::m_dwRestartManagerSupportFlags

Az újraindítás-kezelő viselkedését meghatározó jelzők.

DWORD m_dwRestartManagerSupportFlags;

Megjegyzések

Az újraindítás-kezelő engedélyezéséhez állítsa m_dwRestartManagerSupportFlags a kívánt viselkedésre. Az alábbi táblázat az elérhető jelzőket mutatja.

Zászló Leírás
AFX_RESTART_MANAGER_SUPPORT_RESTART Az alkalmazás regisztrálva van CWinApp::RegisterWithRestartManagerhasználatával. Ha váratlanul kilép, az újraindítás-kezelő felelős az alkalmazás újraindításáért.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY Az alkalmazás regisztrálva van az újraindítás-kezelőben, és az újraindítás-kezelő meghívja a helyreállítási visszahívási függvényt, amikor újraindítja az alkalmazást. Az alapértelmezett helyreállítási visszahívási függvény CWinApp::ApplicationRecoveryCallback.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART Az automatikus mentés engedélyezve van, és az újraindítás-kezelő automatikusan ment minden megnyitott dokumentumot, amikor az alkalmazás újraindul.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL Az automatikus mentés engedélyezve van, és az újraindítás-kezelő rendszeres időközönként automatikusan ment minden megnyitott dokumentumot. Az időközt CWinApp::m_nAutosaveIntervalhatározza meg.
- AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES Az újraindítás-kezelő megnyitja a korábban megnyitott dokumentumokat, miután váratlan kilépésből újraindította az alkalmazást. A CDataRecoveryHandler osztály kezeli a megnyitott dokumentumok listájának tárolását és visszaállítását.
- AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES Az újraindítás-kezelő kéri a felhasználót, hogy állítsa vissza az automatikusan mentett fájlokat az alkalmazás újraindítása után. A CDataRecoveryHandler osztály lekérdezi a felhasználót.
- AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE A AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_SUPPORT_RECOVER és AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES egyesülése.
- AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS A AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL és AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES egyesítője.
- AFX_RESTART_MANAGER_SUPPORT_RESTART_ASPECTS A AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES és AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES egyesítője.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY_ASPECTS Az unió ofAFX_RESTART_MANAGER_SUPPORT_RECOVERY, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES és AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.

CWinApp::m_eHelpType

Ennek az adattagnak a típusa a számbavételi AFX_HELP_TYPE, amely a CWinApp osztályban van definiálva.

AFX_HELP_TYPE m_eHelpType;

Megjegyzések

A AFX_HELP_TYPE enumerálás a következőképpen van definiálva:

enum AFX_HELP_TYPE {
    afxWinHelp = 0,
    afxHTMLHelp = 1
    };
  • Ha az alkalmazás súgóját HTML-súgóra szeretné állítani, hívja meg SetHelpMode, és adja meg a afxHTMLHelp.

  • Ha az alkalmazás súgóját a WinHelpre szeretné beállítani, hívja meg SetHelpMode, és adja meg a afxWinHelp.

CWinApp::m_hInstance

Az hInstance paraméternek felel meg, amelyet a Windows adott át WinMain.

HINSTANCE m_hInstance;

Megjegyzések

A m_hInstance-adattag a Windows rendszerben futó alkalmazás aktuális példányának leírója. Ezt az AfxGetInstanceHandle globális függvény adja vissza. m_hInstance egy HINSTANCE típusú nyilvános változó.

Példa

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

Megfelel az lpCmdLine paraméternek, amelyet a Windows adott át WinMain.

LPTSTR m_lpCmdLine;

Megjegyzések

Egy null értékű sztringre mutat, amely megadja az alkalmazás parancssorát. A m_lpCmdLine használatával elérheti a felhasználó által az alkalmazás indításakor megadott parancssori argumentumokat. m_lpCmdLine egy LPTSTR típusú nyilvános változó.

Példa

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

Az automatikus mentések közötti idő ezredmásodpercben.

int m_nAutosaveInterval;

Megjegyzések

Az újraindítás-kezelő konfigurálható úgy, hogy a megnyitott dokumentumokat a megadott időközönként automatikusan mentse. Ha az alkalmazás nem ment automatikusan fájlokat, ennek a paraméternek nincs hatása.

CWinApp::m_nCmdShow

Megfelel az nCmdShow paraméternek, amelyet a Windows adott át WinMain.

int m_nCmdShow;

Megjegyzések

A CWnd::ShowWindow meghívásakor argumentumként kell megadnia m_nCmdShow az alkalmazás főablakához. m_nCmdShow inttípusú nyilvános változó.

Példa

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

Ezzel az adattagtal az OLE-kiszolgálóalkalmazást helyben aktivált OLE-tárolóalkalmazás főablakára mutató mutatót tárolhat.

Megjegyzések

Ha ez az adattag NULL értékű, az alkalmazás nem aktív helyben.

A keretrendszer akkor állítja be ezt a tagváltozót, ha a keretablakot egy OLE-tárolóalkalmazás aktiválja a helyszínen.

CWinApp::m_pDataRecoveryHandler

Mutasson az alkalmazás adat-helyreállítási kezelőjének gombra.

CDataRecoveryHandler* m_pDataRecoveryHandler;

Megjegyzések

Az alkalmazás adat-helyreállítási kezelője figyeli a megnyitott dokumentumokat, és automatikusan menti őket. A keretrendszer az adat-helyreállítási kezelővel állítja vissza az automatikusan mentett fájlokat, amikor egy alkalmazás váratlanul újraindul. További információ: CDataRecoveryHandler osztály.

CWinApp::m_pszAppName

Az alkalmazás nevét adja meg.

LPCTSTR m_pszAppName;

Megjegyzések

Az alkalmazás neve származhat a CWinApp konstruktornak átadott paraméterből, vagy ha nincs megadva, a AFX_IDS_APP_TITLE azonosítójú erőforrás-sztringnek. Ha az alkalmazás neve nem található az erőforrásban, akkor a program .EXE fájlnévből származik.

Az AfxGetAppName globális függvény adja vissza. m_pszAppName const char*típusú nyilvános változó.

Jegyzet

Ha egy értéket m_pszAppNamerendel hozzá, azt dinamikusan kell lefoglalni a halomra. A CWinApp destruktor ezzel a mutatóval hívja meg ingyenes( ) elemet. Sokan a _tcsdup( ) futásidejű kódtár függvénnyel szeretnék elvégezni a kiosztást. Az új érték hozzárendelése előtt szabadítsd fel az aktuális mutatóhoz társított memóriát. Például:

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

Példa

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

Az alkalmazás végrehajtható fájljának nevét tartalmazza bővítmény nélkül.

LPCTSTR m_pszExeName;

Megjegyzések

A m_pszAppNameellentétben ez a név nem tartalmazhat üres elemet. m_pszExeName const char*típusú nyilvános változó.

Jegyzet

Ha egy értéket m_pszExeNamerendel hozzá, azt dinamikusan kell lefoglalni a halomra. A CWinApp destruktor ezzel a mutatóval hívja meg ingyenes( ) elemet. Sokan a _tcsdup( ) futásidejű kódtár függvénnyel szeretnék elvégezni a kiosztást. Az új érték hozzárendelése előtt szabadítsd fel az aktuális mutatóhoz társított memóriát. Például:

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

Az alkalmazás súgófájljának elérési útját tartalmazza.

LPCTSTR m_pszHelpFilePath;

Megjegyzések

Alapértelmezés szerint a keretrendszer inicializálja m_pszHelpFilePath az alkalmazás nevére a következővel: ". HLP" hozzáfűzve. A súgófájl nevének módosításához állítsa m_pszHelpFilePath egy sztringre, amely tartalmazza a kívánt súgófájl teljes nevét. Ennek kényelmes helye az alkalmazás InitInstance függvénye. m_pszHelpFilePath const char*típusú nyilvános változó.

Jegyzet

Ha egy értéket m_pszHelpFilePathrendel hozzá, azt dinamikusan kell lefoglalni a halomra. A CWinApp destruktor ezzel a mutatóval hívja meg ingyenes( ) elemet. Sokan a _tcsdup( ) futásidejű kódtár függvénnyel szeretnék elvégezni a kiosztást. Az új érték hozzárendelése előtt szabadítsd fel az aktuális mutatóhoz társított memóriát. Például:

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

Az alkalmazás nevét tartalmazza. INI-fájl.

LPCTSTR m_pszProfileName;

Megjegyzések

m_pszProfileName const char*típusú nyilvános változó.

Jegyzet

Ha egy értéket m_pszProfileNamerendel hozzá, azt dinamikusan kell lefoglalni a halomra. A CWinApp destruktor ezzel a mutatóval hívja meg ingyenes( ) elemet. Sokan a _tcsdup( ) futásidejű kódtár függvénnyel szeretnék elvégezni a kiosztást. Az új érték hozzárendelése előtt szabadítsd fel az aktuális mutatóhoz társított memóriát. Például:

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

Annak meghatározására szolgál, hogy a beállításjegyzékben vagy az INI-fájlban hol vannak tárolva az alkalmazásprofil-beállítások.

LPCTSTR m_pszRegistryKey;

Megjegyzések

Ezt az adattagot általában írásvédettként kezeli a rendszer.

  • Az érték egy beállításkulcsban van tárolva. Az alkalmazásprofil-beállítás neve a következő beállításkulcshoz van hozzáfűzve: HKEY_CURRENT_USER/Software/LocalAppWizard-Generated/.

Ha egy értéket m_pszRegistryKeyrendel hozzá, azt dinamikusan kell lefoglalni a halomra. A CWinApp destruktor ezzel a mutatóval hívja meg ingyenes( ) elemet. Sokan a _tcsdup( ) futásidejű kódtár függvénnyel szeretnék elvégezni a kiosztást. Az új érték hozzárendelése előtt szabadítsd fel az aktuális mutatóhoz társított memóriát. Például:

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

Alkalmazásfelhasználói modell azonosítója.

LPCTSTR m_pszAppID;

Megjegyzések

CWinApp::OnContextHelp

Kezeli a SHIFT+F1 súgót az alkalmazásban.

afx_msg void OnContextHelp();

Megjegyzések

A tagfüggvény engedélyezéséhez hozzá kell adnia egy ON_COMMAND( ID_CONTEXT_HELP, OnContextHelp ) utasítást a CWinApp osztály üzenettérképéhez, valamint hozzá kell adnia egy gyorsítótábla-bejegyzést is(általában SHIFT+F1).

OnContextHelp az alkalmazást súgó módban helyezi el. A kurzor egy nyílra és egy kérdőjelre változik, a felhasználó ezután áthelyezheti az egérmutatót, és a bal egérgombbal kijelölhet egy párbeszédpanelt, ablakot, menüt vagy parancsgombot. Ez a tagfüggvény lekéri az objektum súgókörnyezetét a kurzor alatt, és meghívja a WinHelp Windows függvényt ezzel a súgókörnyezettel.

CWinApp::OnDDECommand

A keretrendszer hívja meg, amikor a fő keretablak DDE végrehajtási üzenetet kap.

virtual BOOL OnDDECommand(LPTSTR lpszCommand);

Paraméterek

lpszCommand
Az alkalmazás által fogadott DDE-parancssztringre mutat.

Visszaadott érték

Nemzero, ha a parancsot kezelik; egyéb esetben 0.

Megjegyzések

Az alapértelmezett implementáció ellenőrzi, hogy a parancs egy dokumentum megnyitására irányuló kérés-e, és ha igen, megnyitja a megadott dokumentumot. A Windows Fájlkezelő általában akkor küld ilyen DDE-parancssztringeket, amikor a felhasználó duplán kattint egy adatfájlra. Felülbírálja ezt a függvényt más DDE-parancsok, például a nyomtatandó parancs kezeléséhez.

Példa

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

Implementálja a ID_FILE_NEW parancsot.

afx_msg void OnFileNew();

Megjegyzések

A tagfüggvény engedélyezéséhez hozzá kell adnia egy ON_COMMAND( ID_FILE_NEW, OnFileNew ) utasítást a CWinApp osztály üzenettérképéhez. Ha engedélyezve van, ez a függvény kezeli az Új fájl parancs végrehajtását.

A tagfüggvény felülbírálásához tekintse meg Technical Note 22 című témakört.

Példa

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

Implementálja a ID_FILE_OPEN parancsot.

afx_msg void OnFileOpen();

Megjegyzések

A tagfüggvény engedélyezéséhez hozzá kell adnia egy ON_COMMAND( ID_FILE_OPEN, OnFileOpen ) utasítást a CWinApp osztály üzenettérképéhez. Ha engedélyezve van, ez a függvény kezeli a Fájlmegnyitás parancs végrehajtását.

Az alapértelmezett működésről és a tagfüggvény felülbírálásáról további információt Technical Note 22című cikkben talál.

Példa

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

Implementálja a ID_FILE_PRINT_SETUP parancsot.

afx_msg void OnFilePrintSetup();

Megjegyzések

A tagfüggvény engedélyezéséhez hozzá kell adnia egy ON_COMMAND( ID_FILE_PRINT_SETUP, OnFilePrintSetup ) utasítást a CWinApp osztály üzenettérképéhez. Ha engedélyezve van, ez a függvény kezeli a Fájlnyomtatás parancs végrehajtását.

Az alapértelmezett működésről és a tagfüggvény felülbírálásáról további információt Technical Note 22című cikkben talál.

Példa

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

Kezeli az F1 súgóját az alkalmazásban (az aktuális környezet használatával).

afx_msg void OnHelp();

Megjegyzések

Általában az F1 billentyűhöz is hozzáad egy gyorsítókulcs-bejegyzést. Az F1 kulcs engedélyezése csak konvenció, nem követelmény.

A tagfüggvény engedélyezéséhez hozzá kell adnia egy ON_COMMAND( ID_HELP, OnHelp ) utasítást a CWinApp osztály üzenettérképéhez. Ha engedélyezve van, a keretrendszer hívja meg, amikor a felhasználó lenyomja az F1 billentyűt.

Az üzenetkezelő függvény alapértelmezett implementációja határozza meg az aktuális ablaknak, párbeszédpanelnek vagy menüelemnek megfelelő súgókörnyezetet, majd meghívja WINHELP.EXE. Ha jelenleg nincs elérhető környezet, a függvény az alapértelmezett környezetet használja.

Bírálja felül ezt a tagfüggvényt, hogy a súgókörnyezetet a fókuszt jelenleg tartalmazó ablak, párbeszédpanel, menüelem vagy eszköztár gombon kívül másra állítsa. Hívja meg WinHelp a kívánt súgókörnyezet-azonosítóval.

CWinApp::OnHelpFinder

Kezeli a ID_HELP_FINDER és ID_DEFAULT_HELP parancsokat.

afx_msg void OnHelpFinder();

Megjegyzések

A tagfüggvény engedélyezéséhez hozzá kell adnia egy ON_COMMAND( ID_HELP_FINDER, OnHelpFinder ) utasítást a CWinApp osztály üzenettérképéhez. Ha engedélyezve van, a keretrendszer meghívja ezt az üzenetkezelő függvényt, amikor az alkalmazás felhasználója kiválasztja a Súgókereső parancsot, hogy meghívja WinHelp a szabványos HELP_FINDER témakörrel.

CWinApp::OnHelpIndex

Kezeli a ID_HELP_INDEX parancsot, és egy alapértelmezett súgótémakört biztosít.

afx_msg void OnHelpIndex();

Megjegyzések

A tagfüggvény engedélyezéséhez hozzá kell adnia egy ON_COMMAND( ID_HELP_INDEX, OnHelpIndex ) utasítást a CWinApp osztály üzenettérképéhez. Ha engedélyezve van, a keretrendszer meghívja ezt az üzenetkezelő függvényt, amikor az alkalmazás felhasználója kiválasztja a Súgóindex parancsot, amely meghívja WinHelp a szabványos HELP_INDEX témakörrel.

CWinApp::OnHelpUsing

Kezeli a ID_HELP_USING parancsot.

afx_msg void OnHelpUsing();

Megjegyzések

A tagfüggvény engedélyezéséhez hozzá kell adnia egy ON_COMMAND( ID_HELP_USING, OnHelpUsing ) utasítást a CWinApp osztály üzenettérképéhez. A keretrendszer akkor hívja meg ezt az üzenetkezelő függvényt, ha az alkalmazás felhasználója a Súgó használata parancsot választva meghívja a WinHelp alkalmazást a szabványos HELP_HELPONHELP témakörrel.

CWinApp::OnIdle

A tagfüggvény felülbírálása tétlen idejű feldolgozáshoz.

virtual BOOL OnIdle(LONG lCount);

Paraméterek

lCount
A számláló minden alkalommal növekszik, amikor OnIdle az alkalmazás üzenetsora üres. Ez a szám minden új üzenet feldolgozásakor 0-ra lesz visszaállítva. Az lCount paraméterrel meghatározhatja, hogy az alkalmazás mennyi ideig tétlen volt üzenet feldolgozása nélkül.

Visszaadott érték

Nonzero, hogy több tétlen feldolgozási időt kapjon; 0, ha nincs szükség több tétlenségi időre.

Megjegyzések

OnIdle az alapértelmezett üzenethurok meghívja, ha az alkalmazás üzenetsora üres. A felülbírálással meghívhatja a saját háttér tétlenség-kezelő feladatait.

OnIdle 0 értéket kell visszaadnia, hogy jelezze, nincs szükség üresjárati feldolgozási időre. Az lCount paraméter minden alkalommal növekszik, amikor OnIdle hívása üres, és az új üzenetek feldolgozásakor 0-ra állítja vissza az üzenetsort. Ennek alapján meghívhatja a különböző tétlenségi rutinokat.

Az alábbiakban összefoglaljuk az üresjárati hurok feldolgozását:

  1. Ha a Microsoft Foundation osztálykönyvtárában található üzenethurok ellenőrzi az üzenetsort, és nem talál függőben lévő üzeneteket, meghívja OnIdle az alkalmazásobjektumhoz, és a lCount argumentumként 0-t biztosít.

  2. OnIdle végez némi feldolgozást, és nemero értéket ad vissza, amely jelzi, hogy a további feldolgozáshoz újra meg kell hívni.

  3. Az üzenethurok ismét ellenőrzi az üzenetsort. Ha nincsenek függőben lévő üzenetek, újra meghívja OnIdle, ezzel növelve az lCount argumentumot.

  4. Végül OnIdle befejezi az összes tétlen tevékenység feldolgozását, és 0 értéket ad vissza. Ez azt jelzi, hogy az üzenethurok leállítja a OnIdle hívását, amíg a következő üzenet meg nem érkezik az üzenetsorból, ekkor az üresjárati ciklus újraindul, és az argumentum értéke 0 lesz.

Ne végezzen hosszadalmas feladatokat a OnIdle során, mert az alkalmazás nem tudja feldolgozni a felhasználói bemenetet, amíg OnIdle vissza nem tér.

Jegyzet

A OnIdle frissítések parancs felhasználói felületi objektumainak alapértelmezett implementációja, például a menüelemek és az eszköztárgombok, és belső adatstruktúra-tisztítást végez. Ezért ha felülbírálja OnIdle, a felülbírált verzióban a lCount kell meghívnia CWinApp::OnIdle. Először hívja meg az összes alaposztály tétlen feldolgozását (vagyis addig, amíg az alaposztály OnIdle 0-t nem ad vissza). Ha az alaposztály feldolgozása előtt kell elvégeznie a munkát, tekintse át az alaposztály implementációját, és válassza ki a megfelelő lCount, amely alatt el szeretné végezni a munkáját.

Ha nem szeretné, hogy OnIdle legyen meghívva, amikor egy üzenet lekéri az üzenetsorból, felülbírálhatja a CWinThreadIsIdleMessage. Ha egy alkalmazás nagyon rövid időzítőt állított be, vagy ha a rendszer a WM_SYSTIMER üzenetet küldi, akkor a rendszer ismételten meghívja OnIdle, és csökkenti a teljesítményt.

Példa

Az alábbi két példa bemutatja a OnIdlehasználatát. Az első példa két tétlen tevékenységet dolgoz fel az lCount argumentummal a tevékenységek rangsorolásához. Az első feladat magas prioritású, és ha lehetséges, végezze el. A második feladat kevésbé fontos, és csak akkor szabad elvégezni, ha hosszú szünet van a felhasználói bemenetben. Figyelje meg a OnIdlealaposztályú verziójának hívását. A második példa különböző prioritásokkal rendelkező tétlen tevékenységek egy csoportját kezeli.

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

A keretrendszer meghívja ezt a metódust az alkalmazás nevesített CDocument fájljának megnyitására.

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

Paraméterek

lpszFileName
[in] A megnyitni kívánt fájl neve.

bAddToMRU
[in] A TRUE azt jelzi, hogy a dokumentum az egyik legújabb fájl; A HAMIS azt jelzi, hogy a dokumentum nem a legutóbbi fájlok egyike.

Visszaadott érték

Ha sikeres, mutató egy CDocument; ellenkező esetben NULL.

Megjegyzések

Ha egy ilyen nevű dokumentum már meg van nyitva, a dokumentumot tartalmazó első keretablak lesz a fókusz. Ha egy alkalmazás több dokumentumsablont is támogat, a keretrendszer a fájlnévkiterjesztéssel megkeresi a megfelelő dokumentumsablont a dokumentum betöltéséhez. Ha sikeres, a dokumentumsablon ekkor létrehoz egy keretablakot és nézetet a dokumentumhoz.

Példa

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

A tagfüggvény meghívásával elemezheti a parancssort, és egyenként elküldheti a paramétereket a CCommandLineInfo::P arseParam .

void ParseCommandLine(CCommandLineInfo& rCmdInfo);

Paraméterek

rCmdInfo
Hivatkozás egy CCommandLineInfo objektumra.

Megjegyzések

Amikor új MFC-projektet indít az Alkalmazás varázslóval, az Alkalmazás varázsló létrehoz egy helyi CCommandLineInfo-példányt, majd meghívja ProcessShellCommand és ParseCommandLine az InitInstance tagfüggvényben. A parancssor az alábbi útvonalat követi:

  1. A InitInstancelétrehozása után a CCommandLineInfo objektum át lesz adva ParseCommandLine.

  2. ParseCommandLine ezután többször is meghívja CCommandLineInfo::ParseParam, minden paraméterhez egyszer.

  3. ParseParam kitölti a CCommandLineInfo objektumot, amelyet aztán átad ProcessShellCommand.

  4. ProcessShellCommand kezeli a parancssori argumentumokat és a jelzőket.

Vegye figyelembe, hogy igény szerint közvetlenül is meghívhatja ParseCommandLine.

A parancssori jelzők leírásáért lásd CCommandLineInfo::m_nShellCommand.

CWinApp::P reTranslateMessage

Bírálja felül ezt a függvényt, hogy szűrje az ablaküzeneteket, mielőtt elküldené őket a Windows-függvényeknek TranslateMessage és DispatchMessage Az alapértelmezett implementáció gyorsítókulcs-fordítást végez, ezért a felülbírált verzióban meg kell hívnia a CWinApp::PreTranslateMessage tagfüggvényt.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Paraméterek

pMsg
A feldolgozandó üzenetet tartalmazó MSG- struktúrára mutató mutató.

Visszaadott érték

Nonzero, ha az üzenetet teljes mértékben feldolgozták PreTranslateMessage, és nem szabad tovább feldolgozni. Nulla, ha az üzenetet a szokásos módon kell feldolgozni.

CWinApp::P rocessMessageFilter

A keretrendszer horogfüggvénye meghívja ezt a tagfüggvényt bizonyos Windows-üzenetek szűrésére és megválaszolására.

virtual BOOL ProcessMessageFilter(
    int code,
    LPMSG lpMsg);

Paraméterek

kód
Horogkódot ad meg. Ez a tagfüggvény a kód használatával határozza meg, hogyan kell feldolgozni lpMsg-t.

lpMsg
Egy Windows MSGtructure mutató mutató.

Visszaadott érték

Nonzero, ha az üzenet feldolgozása folyamatban van; egyéb esetben 0.

Megjegyzések

A horogfüggvények feldolgozzák az eseményeket, mielőtt elküldené őket az alkalmazás normál üzenetfeldolgozására.

Ha felülbírálja ezt a speciális funkciót, mindenképpen hívja meg az alaposztályú verziót a keretrendszer horogfeldolgozásának fenntartása érdekében.

CWinApp::P rocessShellCommand

Ezt a tagfüggvényt InitInstance hívja meg az CCommandLineInfo objektum által rCmdInfoáltal azonosított paraméterek elfogadásához, és hajtsa végre a jelzett műveletet.

BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);

Paraméterek

rCmdInfo
Hivatkozás egy CCommandLineInfo objektumra.

Visszaadott érték

Nonzero, ha a rendszerhéjparancs feldolgozása sikeresen megtörtént. Ha 0, akkor hamis értéket ad vissza InitInstance.

Megjegyzések

Amikor új MFC-projektet indít az Alkalmazás varázslóval, az Alkalmazás varázsló létrehoz egy helyi CCommandLineInfo-példányt, majd meghívja ProcessShellCommand és ParseCommandLine a InitInstance tagfüggvényben. A parancssor az alábbi útvonalat követi:

  1. A InitInstancelétrehozása után a CCommandLineInfo objektum át lesz adva ParseCommandLine.

  2. ParseCommandLine ezután a CCommandLineInfo::P arseParam többször meghívja minden paraméterhez.

  3. ParseParam kitölti a CCommandLineInfo objektumot, amelyet a ProcessShellCommandtovábbít.

  4. ProcessShellCommand kezeli a parancssori argumentumokat és a jelzőket.

A CCommandLineInfo objektum CCommandLineInfo::m_nShellCommandáltal azonosított adattagja a következő számba vett típus, amely a CCommandLineInfo osztályban van definiálva.

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

Az értékek rövid leírását a CCommandLineInfo::m_nShellCommand.

CWinApp::P rocessWndProcException

A keretrendszer meghívja ezt a tagfüggvényt, ha a kezelő nem kap kivételt az alkalmazás üzenetében vagy parancskezelőiben.

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

Paraméterek

e
Egy fel nem merült kivételre mutató mutató.

pMsg
Egy MSGtructure, amely információkat tartalmaz a windowsos üzenetről, amely miatt a keretrendszer kivételt okozott.

Visszaadott érték

A Windowsnak visszaadandó érték. Ez általában windowsos üzenetek esetén 0L, parancsüzenetek esetén 1L (TRUE) érték.

Megjegyzések

Ne hívja meg közvetlenül ezt a tagfüggvényt.

A tagfüggvény alapértelmezett implementációja létrehoz egy üzenetmezőt. Ha a ki nem merült kivétel menüvel, eszköztárral vagy gyorsítóparancshiba miatt származik, az üzenetmezőben megjelenik a "Parancs meghiúsult" üzenet; ellenkező esetben egy "Belső alkalmazáshiba" üzenet jelenik meg.

Felülbírálja ezt a tagfüggvényt a kivételek globális kezeléséhez. Csak akkor hívja meg az alapfunkciót, ha meg szeretné jeleníteni az üzenetmezőt.

CWinApp::Regisztráció

Elvégzi a RegisterShellFileTypesáltal nem kezelt regisztrációs feladatokat.

virtual BOOL Register();

Visszaadott érték

Nonzero a siker; egyéb esetben 0.

Megjegyzések

Az alapértelmezett implementáció egyszerűen IGAZ értéket ad vissza. A függvény felülbírálása a testre szabott regisztrációs lépések megadásához.

CWinApp::RegisterShellFileTypes

Hívja meg ezt a tagfüggvényt, hogy regisztrálja az alkalmazás összes dokumentumtípusát a Windows Fájlkezelőben.

void RegisterShellFileTypes(BOOL bCompat = FALSE);

Paraméterek

bCompat
[in] A TRUE regisztrációs bejegyzéseket ad hozzá a Rendszerhéjparancsok nyomtatása és nyomtatása parancsokhoz, lehetővé téve a felhasználó számára a fájlok nyomtatását közvetlenül a rendszerhéjból, vagy a fájlt egy nyomtatóobjektumra húzva. Emellett egy DefaultIcon-kulcsot is hozzáad. Ez a paraméter alapértelmezés szerint HAMIS a visszamenőleges kompatibilitás érdekében.

Megjegyzések

Így a felhasználó megnyithat egy, az alkalmazás által létrehozott adatfájlt úgy, hogy duplán kattint rá a Fájlkezelőben. Az AddDocTemplate hívása után hívja meg RegisterShellFileTypes az alkalmazás minden egyes dokumentumsablonjához. A RegisterShellFileTypeshívásakor hívja meg a EnableShellOpen tagfüggvényt is.

RegisterShellFileTypes végigvezeti az alkalmazás által karbantartott CDocTemplate objektumok listáján, és minden dokumentumsablonhoz bejegyzéseket ad hozzá a Windows által a fájltársításokhoz fenntartott regisztrációs adatbázishoz. A Fájlkezelő az alábbi bejegyzésekkel nyit meg egy adatfájlt, amikor a felhasználó duplán kattint rá. Ez szükségtelenné teszi a szállítást. REG-fájl az alkalmazással.

Jegyzet

RegisterShellFileTypes csak akkor működik, ha a felhasználó rendszergazdai jogosultságokkal futtatja a programot. Ha a program nem rendelkezik rendszergazdai jogosultságokkal, nem módosíthatja a beállításkulcsokat.

Ha a regisztrációs adatbázis már társít egy adott fájlnévkiterjesztést egy másik fájltípushoz, nem jön létre új társítás. Az információk regisztrálásához szükséges sztringek formátumát a CDocTemplate osztályban találhatja meg.

CWinApp::RegisterWithRestartManager

Regisztrálja az alkalmazást az újraindítás-kezelővel.

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

Paraméterek

bRegisterRecoveryCallback
[in] A TRUE azt jelzi, hogy az alkalmazás ezen példánya helyreállítási visszahívási függvényt használ; A HAMIS azt jelzi, hogy nem. A keretrendszer meghívja a helyreállítási visszahívási függvényt, amikor az alkalmazás váratlanul kilép. További információ: CWinApp::ApplicationRecoveryCallback.

strRestartIdentifier
[in] Az újraindítás-kezelő ezen példányát azonosító egyedi sztring. Az újraindításkezelő azonosítója egyedi az alkalmazás minden példányához.

pwzCommandLineArgs
[in] A parancssorból származó további argumentumokat tartalmazó sztring.

dwRestartFlags
[in] Az újraindítás-kezelő választható jelzői. További információkért lásd a Megjegyzések szakaszt.

pRecoveryCallback
[in] A helyreállítási visszahívási függvény. Ennek a függvénynek egy LPVOID paramétert kell bemenetként vennie, és egy DWORD-t kell visszaadnia. Az alapértelmezett helyreállítási visszahívási függvény a CWinApp::ApplicationRecoveryCallback.

lpvParam
[in] A helyreállítási visszahívási függvény bemeneti paramétere. További információ: CWinApp::ApplicationRecoveryCallback.

dwPingInterval
[in] Az az időtartam, amíg az újraindítás-kezelő megvárja a helyreállítási visszahívási függvény visszatérését. Ez a paraméter ezredmásodpercben van.

dwCallbackFlags
[in] A helyreállítási visszahívási függvénynek átadott jelzők. Jövőbeli használatra fenntartva.

Visszaadott érték

S_OK, hogy a módszer sikeres-e; egyéb esetben hibakód.

Megjegyzések

Ha az alkalmazás az alapértelmezett MFC-implementációt használja a fájlok automatikus mentéséhez, a RegisterWithRestartManageregyszerű verzióját kell használnia. Ha testre szeretné szabni az alkalmazás automatikus mentési viselkedését, használja a RegisterWithRestartManager összetett verzióját.

Ha ezt a metódust egy üres sztringgel hívja meg strRestartIdentifierszámára, RegisterWithRestartManager létrehoz egy egyedi azonosító sztringet az újraindítás-kezelő jelen példányához.

Amikor egy alkalmazás váratlanul kilép, az újraindítás-kezelő újraindítja az alkalmazást a parancssorból, és opcionális argumentumként megadja az egyedi újraindítási azonosítót. Ebben a forgatókönyvben a keretrendszer két alkalommal hív meg RegisterWithRestartManager. Az első hívás CWinApp::InitInstance egy üres sztringgel a sztringazonosítóhoz. Ezután a metódus CWinApp::P rocessShellCommand hívásokat RegisterWithRestartManager az egyedi újraindítási azonosítóval.

Miután regisztrál egy alkalmazást az újraindítás-kezelővel, az újraindítás-kezelő figyeli az alkalmazást. Ha az alkalmazás váratlanul kilép, az újraindítás-kezelő meghívja a helyreállítási visszahívási függvényt a leállítási folyamat során. Az újraindítás-kezelő megvárja a dwPingInterval a helyreállítási visszahívási függvény válaszát. Ha a helyreállítási visszahívási függvény ezen idő alatt nem válaszol, az alkalmazás a helyreállítási visszahívási függvény végrehajtása nélkül lép ki.

Alapértelmezés szerint a dwRestartFlags nem támogatott, de későbbi használatra is elérhető. A dwRestartFlags lehetséges értékei a következők:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::ReopenPreviousFilesAtRestart

Meghatározza, hogy az újraindítás-kezelő újra megnyitja-e a megnyitott fájlokat, amikor az alkalmazás váratlanul kilépett.

virtual BOOL ReopenPreviousFilesAtRestart() const;

Visszaadott érték

A TRUE azt jelzi, hogy az újraindítás-kezelő újra megnyitja a korábban megnyitott fájlokat; A HAMIS azt jelzi, hogy az újraindítás-kezelő nem.

CWinApp::RestartInstance

Kezeli az újraindítás-kezelő által kezdeményezett alkalmazás-újraindítást.

virtual BOOL CWinApp::RestartInstance();

Visszaadott érték

IGAZ, ha az adat-helyreállítási kezelő korábban megnyitott dokumentumokat nyit meg; HAMIS, ha az adat-helyreállítási kezelő hibába ütközik, vagy ha nincsenek korábban megnyitott dokumentumok.

Megjegyzések

Amikor az újraindítás-kezelő újraindít egy alkalmazást, a keretrendszer meghívja ezt a metódust. Ez a metódus lekéri az adat-helyreállítási kezelőt, és visszaállítja az automatikusan mentett fájlokat. Ez a metódus meghívja CDataRecoveryHandler::RestoreAutosavedDocuments, hogy a felhasználó visszaállítsa-e az automatikusan mentett fájlokat.

Ez a metódus HAMIS értéket ad vissza, ha a CDataRecoveryHandler megállapítja, hogy nincsenek megnyitott dokumentumok. Ha nem voltak megnyitott dokumentumok, az alkalmazás általában elindul.

CWinApp::RestoreAutosavedFilesAtRestart

Meghatározza, hogy az újraindítás-kezelő visszaállítja-e az automatikusan mentett fájlokat az alkalmazás újraindításakor.

virtual BOOL RestoreAutosavedFilesAtRestart() const;

Visszaadott érték

AZ IGAZ érték azt jelzi, hogy az újraindítás-kezelő visszaállítja az automatikusan mentett fájlokat; A HAMIS azt jelzi, hogy az újraindítás-kezelő nem.

CWinApp::Futtatás

Alapértelmezett üzenethurokot biztosít.

virtual int Run();

Visszaadott érték

A WinMaináltal visszaadott int érték.

Megjegyzések

Run windowsos üzeneteket szerez be és küld el, amíg az alkalmazás nem kap WM_QUIT üzenetet. Ha az alkalmazás üzenetsora jelenleg nem tartalmaz üzeneteket, Run meghívja OnIdle tétlen idejű feldolgozásra. A bejövő üzenetek a PreTranslateMessage tagfüggvényre kerülnek speciális feldolgozás céljából, majd a Windows-függvény TranslateMessage a normál billentyűzetfordításhoz; végül meghívja a DispatchMessage Windows-függvényt.

Run ritkán felülbírálják, de a speciális viselkedés érdekében felülbírálhatja.

CWinApp::RunAutomated

Hívja meg ezt a függvényt annak megállapításához, hogy a " /Automation" vagy a " -Automation" lehetőség van-e jelen, ami azt jelzi, hogy a kiszolgálóalkalmazást egy ügyfélalkalmazás indította-e el.

BOOL RunAutomated();

Visszaadott érték

Nemzero, ha a lehetőség megtalálható; egyéb esetben 0.

Megjegyzések

Ha van ilyen, a beállítás el lesz távolítva a parancssorból. Az OLE Automationről további információt Automation-kiszolgálókcímű cikkben talál.

CWinApp::RunEmbedded

Hívja meg ezt a függvényt annak megállapításához, hogy a " /Beágyazás" vagy a " -Beágyazás" lehetőség van-e jelen, ami azt jelzi, hogy a kiszolgálóalkalmazást egy ügyfélalkalmazás indította-e el.

BOOL RunEmbedded();

Visszaadott érték

Nemzero, ha a lehetőség megtalálható; egyéb esetben 0.

Megjegyzések

Ha van ilyen, a beállítás el lesz távolítva a parancssorból. A beágyazással kapcsolatos további információkért lásd a kiszolgálók : Kiszolgálóiimplementálása című cikket.

CWinApp::SaveAllModified

A keretrendszer meghívta, hogy mentse az összes dokumentumot az alkalmazás fő keretablakának bezárásakor, vagy egy WM_QUERYENDSESSION üzeneten keresztül.

virtual BOOL SaveAllModified();

Visszaadott érték

Nonzero, ha biztonságosan leállítja az alkalmazást; 0, ha nem biztonságos az alkalmazás leállása.

Megjegyzések

Ennek a tagfüggvénynek az alapértelmezett implementációja meghívja a CDocument::SaveModified tagfüggvényt az alkalmazás összes módosított dokumentumához.

CWinApp::SelectPrinter

Hívja meg ezt a tagfüggvényt egy adott nyomtató kiválasztásához, és engedje fel a nyomtatás párbeszédpanelen korábban kijelölt nyomtatót.

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

Paraméterek

hDevNames
Egy DEVNAMEStructure leírója, amely egy adott nyomtató illesztőprogramját, eszközét és kimeneti portneveit azonosítja.

hDevMode
Egy DEVMODE szerkezet leírója, amely a nyomtató eszköz inicializálásával és környezetével kapcsolatos információkat adja meg.

bFreeOld
Felszabadítja a korábban kijelölt nyomtatót.

Megjegyzések

Ha hDevMode és hDevNames is NULL értékű, SelectPrinter az aktuális alapértelmezett nyomtatót használja.

CWinApp::SetHelpMode

Beállítja az alkalmazás súgótípusát.

void SetHelpMode(AFX_HELP_TYPE eHelpType);

Paraméterek

eHelpType
Megadja a használni kívánt súgó típusát. További információt CWinApp::m_eHelpType című témakörben talál.

Megjegyzések

Beállítja az alkalmazás súgótípusát.

Az alkalmazás súgótípusának HTMLHelp értékre való beállításához meghívhatja EnableHTMLHelp. Miután meghívta EnableHTMLHelp, az alkalmazásnak a HTMLHelp-t kell használnia súgóalkalmazásként. Ha módosítani szeretné a WinHelp használatát, meghívhatja SetHelpMode, és beállíthatja eHelpTypeafxWinHelp.

CWinApp::SetRegistryKey

Az alkalmazásbeállítások az INI-fájlok helyett a beállításjegyzékben lesznek tárolva.

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

Paraméterek

lpszRegistryKey
Mutasson a kulcs nevét tartalmazó sztringre.

nIDRegistryKey
A beállításkulcs nevét tartalmazó sztringerőforrás azonosítója.

Megjegyzések

Ez a függvény beállítja a m_pszRegistryKey, amelyet a GetProfileInt, GetProfileString, WriteProfileIntés WriteProfileStringCWinApptagfüggvényei használnak . Ha ezt a függvényt meghívták, a rendszer a legutóbb használt (MRU) fájlok listáját is a beállításjegyzékben tárolja. A beállításkulcs általában egy vállalat neve. A rendszer a következő űrlap kulcsában tárolja: HKEY_CURRENT_USER\Software\<cégnév>\<alkalmazásnév>\<szakasznév>\<értéknév>.

CWinApp::SupportsApplicationRecovery

Meghatározza, hogy az újraindítás-kezelő helyreállít-e egy váratlanul kilépett alkalmazást.

virtual BOOL SupportsApplicationRecovery() const;

Visszaadott érték

AZ IGAZ érték azt jelzi, hogy az újraindítás-kezelő helyreállítja az alkalmazást; A HAMIS azt jelzi, hogy az újraindítás-kezelő nem.

CWinApp::SupportsAutosaveAtInterval

Meghatározza, hogy az újraindítás-kezelő rendszeres időközönként automatikusan mentse-e a megnyitott dokumentumokat.

virtual BOOL SupportsAutosaveAtInterval() const;

Visszaadott érték

A TRUE azt jelzi, hogy az újraindítás-kezelő automatikusan menti a megnyitott dokumentumokat; A HAMIS azt jelzi, hogy az újraindítás-kezelő nem.

CWinApp::SupportsAutosaveAtRestart

Meghatározza, hogy az újraindítás-kezelő automatikusan ment-e megnyitott dokumentumokat az alkalmazás újraindításakor.

virtual BOOL SupportsAutosaveAtRestart() const;

Visszaadott érték

AZ IGAZ érték azt jelzi, hogy az újraindítás-kezelő automatikusan menti a megnyitott dokumentumokat az alkalmazás újraindításakor; A HAMIS azt jelzi, hogy az újraindítás-kezelő nem.

CWinApp::SupportsRestartManager

Meghatározza, hogy az alkalmazás támogatja-e az újraindítás-kezelőt.

virtual BOOL SupportsRestartManager() const;

Visszaadott érték

A TRUE azt jelzi, hogy az alkalmazás támogatja az újraindítás-kezelőt; A HAMIS azt jelzi, hogy az alkalmazás nem.

CWinApp::Regisztráció törlése

Az alkalmazásobjektum által regisztrált összes fájl regisztrációjának törlése.

virtual BOOL Unregister();

Visszaadott érték

Nonzero a siker; egyéb esetben 0.

Megjegyzések

A Unregister függvény visszavonja az alkalmazásobjektum és a Register függvény által végrehajtott regisztrációt. Általában mindkét függvényt implicit módon hívja meg az MFC, ezért nem jelenik meg a kódban.

A függvény felülbírálása egyéni regisztráció nélküli lépések végrehajtásához.

CWinApp::UnregisterShellFileTypes

Hívja meg ezt a tagfüggvényt, hogy törölje az alkalmazás összes dokumentumtípusának regisztrációját a Windows File Managerrel.

void UnregisterShellFileTypes();

CWinApp::WinHelp

Hívja meg ezt a tagfüggvényt a WinHelp-alkalmazás meghívásához.

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

Paraméterek

dwData
További adatokat ad meg. A használt érték az nCmd paraméter értékétől függ.

nCmd
Megadja a kért súgó típusát. A lehetséges értékek listájáért és a dwData paraméterre gyakorolt hatásukért tekintse meg a WinHelp Windows-függvényt.

Megjegyzések

A keretrendszer a WinHelp-alkalmazás meghívására is meghívja ezt a függvényt.

A keretrendszer automatikusan bezárja a WinHelp-alkalmazást, amikor az alkalmazás leáll.

Példa

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

Hívja meg ezt a tagfüggvényt, hogy bináris adatokat írjon az alkalmazás beállításjegyzékének megadott szakaszába vagy . INI-fájl.

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

Paraméterek

lpszSection
Egy null értékű sztringre mutat, amely megadja a bejegyzést tartalmazó szakaszt. Ha a szakasz nem létezik, létrejön. A szakasz neve független a kis- és nagybetűkétől; a sztring lehet nagybetűk és kisbetűk bármilyen kombinációja.

lpszEntry
Egy null értékű sztringre mutat, amely tartalmazza azt a bejegyzést, amelybe az értéket meg kell írni. Ha a bejegyzés nem létezik a megadott szakaszban, akkor létrejön.

pData
Az írandó adatokra mutat.

nBytes
Az írandó bájtok számát tartalmazza.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Példa

Ez a példa CWinApp* pApp = AfxGetApp(); használ a CWinApp osztályba való bejáráshoz, amely azt szemlélteti, hogy WriteProfileBinary és GetProfileBinary egy MFC-alkalmazás bármely függvényéből használható.

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

Egy másik példa: CWinApp::GetProfileBinary.

CWinApp::WriteProfileInt

Hívja meg ezt a tagfüggvényt, hogy írja be a megadott értéket az alkalmazás beállításjegyzékének megadott szakaszába vagy . INI-fájl.

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

Paraméterek

lpszSection
Egy null értékű sztringre mutat, amely megadja a bejegyzést tartalmazó szakaszt. Ha a szakasz nem létezik, létrejön. A szakasz neve független a kis- és nagybetűkétől; a sztring lehet nagybetűk és kisbetűk bármilyen kombinációja.

lpszEntry
Egy null értékű sztringre mutat, amely tartalmazza azt a bejegyzést, amelybe az értéket meg kell írni. Ha a bejegyzés nem létezik a megadott szakaszban, akkor létrejön.

nValue
Az írandó értéket tartalmazza.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Példa

Ez a példa CWinApp* pApp = AfxGetApp(); használ a CWinApp osztályba való bejáráshoz, amely azt szemlélteti, hogy WriteProfileString, WriteProfileInt, GetProfileStringés GetProfileInt egy MFC-alkalmazás bármely függvényéből használható.

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

Egy másik példa: CWinApp::GetProfileInt.

CWinApp::WriteProfileString

Hívja meg ezt a tagfüggvényt, hogy írja be a megadott sztringet az alkalmazás beállításjegyzékének megadott szakaszába vagy . INI-fájl.

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

Paraméterek

lpszSection
Egy null értékű sztringre mutat, amely megadja a bejegyzést tartalmazó szakaszt. Ha a szakasz nem létezik, létrejön. A szakasz neve független a kis- és nagybetűkétől; a sztring lehet nagybetűk és kisbetűk bármilyen kombinációja.

lpszEntry
Egy null értékű sztringre mutat, amely tartalmazza azt a bejegyzést, amelybe az értéket meg kell írni. Ha a bejegyzés nem létezik a megadott szakaszban, akkor létrejön. Ha ez a paraméter NULL, a lpszSection által megadott szakasz törlődik.

lpszValue
Az írandó sztringre mutat. Ha ez a paraméter NULL, a lpszEntry paraméter által megadott bejegyzés törlődik.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Példa

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

Egy másik példa: CWinApp::GetProfileInt.

CWinApp::SetAppID

Explicit módon állítja be az alkalmazás felhasználói modellazonosítóját. Ezt a metódust azelőtt kell meghívni, hogy bármilyen felhasználói felületet bemutat a felhasználónak (a legjobb hely az alkalmazáskonstruktor).

void SetAppID(LPCTSTR lpcszAppID);

Paraméterek

lpcszAppID
Az alkalmazásfelhasználói modell azonosítóját adja meg.

Megjegyzések

Lásd még:

CWinThread osztály
hierarchiadiagram
Útmutató: Restart Manager támogatási hozzáadása