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 CWinApp
szá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, am_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:
CWinApp
alkalmazásvarázsló által írt - származtatott kód.CWinApp
szerepköre az alkalmazás végrehajtási sorrendjében.CWinApp
alapértelmezett tagfüggvény-implementációk.CWinApp
kulcs 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
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 CloseAllDocuments
hí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 WinMain
visszaté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 GetFirstDocTemplatePosition
hí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 int
kell 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 aafxWinHelp
.
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
int
tí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_pszAppName
rendel 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_pszExeName
rendel 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_pszHelpFilePath
rendel 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_pszProfileName
rendel 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_pszRegistryKey
rendel 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:
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.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.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.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 aOnIdle
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 OnIdle
haszná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 OnIdle
alaposztá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:
A
InitInstance
létrehozása után aCCommandLineInfo
objektum át lesz advaParseCommandLine
.ParseCommandLine
ezután többször is meghívjaCCommandLineInfo::ParseParam
, minden paraméterhez egyszer.ParseParam
kitölti aCCommandLineInfo
objektumot, amelyet aztán átad ProcessShellCommand.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:
A
InitInstance
létrehozása után aCCommandLineInfo
objektum át lesz advaParseCommandLine
.ParseCommandLine
ezután a CCommandLineInfo::P arseParam többször meghívja minden paraméterhez.ParseParam
kitölti aCCommandLineInfo
objektumot, amelyet aProcessShellCommand
továbbít.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 RegisterShellFileTypes
hí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 RegisterWithRestartManager
egyszerű 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 WriteProfileString
CWinApp
tagfü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