Share via


CWinApp-klasse

De basisklasse waaruit u een Windows-toepassingsobject afleiden.

Syntaxis

class CWinApp : public CWinThread

Leden

Openbare constructors

Naam Beschrijving
CWinApp::CWinApp Maakt een CWinApp-object.

Openbare methoden

Naam Beschrijving
CWinApp::AddDocTemplate- Hiermee voegt u een documentsjabloon toe aan de lijst met beschikbare documentsjablonen van de toepassing.
CWinApp::AddToRecentFileList Voegt een bestandsnaam toe aan de meest recent gebruikte (MRU)-bestandslijst.
CWinApp::ApplicationRecoveryCallback- Aangeroepen door het framework wanneer de toepassing onverwacht wordt afgesloten.
CWinApp::CloseAllDocuments Hiermee sluit u alle geopende documenten.
CWinApp::CreatePrinterDC- Hiermee maakt u een printerapparaatcontext.
CWinApp::D elRegTree Hiermee verwijdert u een opgegeven sleutel en alle bijbehorende subsleutels.
CWinApp::D oMessageBox Implementeert AfxMessageBox- voor de toepassing.
CWinApp::D oWaitCursor Hiermee schakelt u de wachtcursor in en uit.
CWinApp::EnableD2DSupport Hiermee schakelt u D2D-ondersteuning voor toepassingen in. Roep deze methode aan voordat het hoofdvenster wordt geïnitialiseerd.
CWinApp::EnableHtmlHelp- Implementeert HTMLHelp voor de toepassing in plaats van WinHelp.
CWinApp::EnableTaskbarInteraction Hiermee schakelt u interactie op de taakbalk in.
CWinApp::ExitInstance Overschrijven om op te schonen wanneer uw toepassing wordt beëindigd.
CWinApp::GetApplicationRecoveryParameter Haalt de invoerparameter voor de toepassingsherstelmethode op.
CWinApp::GetApplicationRecoveryPingInterval Retourneert de tijdsduur die de manager voor opnieuw opstarten wacht totdat de functie herstelaanroep wordt geretourneerd.
CWinApp::GetApplicationRestartFlags Retourneert de vlaggen voor de manager voor opnieuw opstarten.
CWinApp::GetAppRegistryKey Retourneert de sleutel voor HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName.
CWinApp::GetDataRecoveryHandler Hiermee haalt u de handler voor gegevensherstel op voor dit exemplaar van de toepassing.
CWinApp::GetFirstDocTemplatePosition Haalt de positie van de eerste documentsjabloon op.
CWinApp::GetHelpMode Hiermee haalt u het type hulp op dat door de toepassing wordt gebruikt.
CWinApp::GetNextDocTemplate Hiermee haalt u de positie van een documentsjabloon op. Kan recursief worden gebruikt.
CWinApp::GetPrinterDeviceDefaults Hiermee haalt u de standaardinstellingen voor het printerapparaat op.
CWinApp::GetProfileBinary Haalt binaire gegevens op uit een vermelding in de toepassing. INI-bestand.
CWinApp::GetProfileInt Haalt een geheel getal op uit een vermelding in de toepassing. INI-bestand.
CWinApp::GetProfileString Haalt een tekenreeks op uit een vermelding in de toepassing. INI-bestand.
CWinApp::GetSectionKey Retourneert de sleutel voor HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection.
CWinApp::HideApplication- Hiermee verbergt u de toepassing voordat u alle documenten sluit.
CWinApp::HtmlHelp Roept de HTMLHelp Windows-functie aan.
CWinApp::InitInstance Overschrijven om initialisatie van Windows-exemplaren uit te voeren, zoals het maken van uw vensterobjecten.
CWinApp::IsTaskbarInteractionEnabled Hiermee wordt aangegeven of interactie met de taakbalk van Windows 7 is ingeschakeld.
CWinApp::LoadCursor- Hiermee wordt een cursorresource geladen.
CWinApp::LoadIcon Hiermee wordt een pictogramresource geladen.
CWinApp::LoadOEMCursor Hiermee wordt een vooraf gedefinieerde Windows OEM-cursor geladen die door de OCR_ constanten wordt opgegeven in WINDOWS.H.
CWinApp::LoadOEMIcon Laadt een vooraf gedefinieerd Windows OEM-pictogram dat de OIC_ constanten opgeven in WINDOWS.H.
CWinApp::LoadStandardCursor Hiermee wordt een vooraf gedefinieerde Windows-cursor geladen die door de IDC_ constanten wordt opgegeven in WINDOWS.H.
CWinApp::LoadStandardIcon Hiermee wordt een vooraf gedefinieerd Windows-pictogram geladen dat door de IDI_ constanten wordt opgegeven in WINDOWS.H.
CWinApp::OnDDECommand- Aangeroepen door het framework als reactie op een DDE -opdracht (Dynamic Data Exchange).
CWinApp::OnIdle- Overschrijven om toepassingsspecifieke niet-actieve tijdverwerking uit te voeren.
CWinApp::OpenDocumentFile Aangeroepen door het framework om een document te openen vanuit een bestand.
CWinApp::P arseCommandLine Parseert afzonderlijke parameters en vlaggen in de opdrachtregel.
CWinApp::P reTranslateMessage Filtert berichten voordat ze worden verzonden naar de Windows-functies TranslateMessage- en DispatchMessage-.
CWinApp::P rocessMessageFilter Onderschept bepaalde berichten voordat ze de toepassing bereiken.
CWinApp::P rocessShellCommand- Hiermee worden opdrachtregelargumenten en vlaggen verwerkt.
CWinApp::P rocessWndProcException Onderschept alle niet-verwerkte uitzonderingen die worden gegenereerd door de bericht- en opdrachthandlers van de toepassing.
CWinApp:: registreren Voert aangepaste registratie uit.
CWinApp::RegisterWithRestartManager Registreert de toepassing bij de manager voor opnieuw opstarten.
CWinApp::ReopenPreviousFilesAtRestart Bepaalt of de manager voor opnieuw opstarten de geopende bestanden opnieuw opent wanneer de toepassing onverwacht werd afgesloten.
CWinApp::RestartInstance Hiermee wordt het opnieuw opstarten van een toepassing verwerkt, geïnitieerd door de manager voor opnieuw opstarten.
CWinApp::RestoreAutosavedFilesAtRestart Bepaalt of de manager voor opnieuw opstarten de automatisch opgeslagen bestanden herstelt wanneer de toepassing opnieuw wordt opgestart.
CWinApp::Run Hiermee wordt de standaardberichtlus uitgevoerd. Overschrijven om de berichtenlus aan te passen.
CWinApp::RunAutomated Test de opdrachtregel van de toepassing voor de optie /Automation. Verouderd. Gebruik in plaats daarvan de waarde in CCommandLineInfo::m_bRunAutomated na het aanroepen van ParseCommandLine-.
CWinApp::RunEmbedded Test de opdrachtregel van de toepassing voor de optie /Embedding. Verouderd. Gebruik in plaats daarvan de waarde in CCommandLineInfo::m_bRunEmbedded nadat u ParseCommandLine-hebt aangeroepen.
CWinApp::SaveAllModified Vraagt de gebruiker om alle gewijzigde documenten op te slaan.
CWinApp::SelectPrinter Hiermee selecteert u een printer die eerder door een gebruiker is aangegeven via een afdrukdialoogvenster.
CWinApp::SetHelpMode Hiermee stelt u het type help in dat door de toepassing wordt gebruikt en initialiseert.
CWinApp::SupportsApplicationRecovery Bepaalt of de manager voor opnieuw opstarten een toepassing herstelt die onverwacht is afgesloten.
CWinApp::SupportsAutosaveAtInterval Bepaalt of de manager voor opnieuw opstarten automatisch documenten opent met een regelmatig interval.
CWinApp::SupportsAutosaveAtRestart Bepaalt of de manager voor opnieuw opstarten automatisch geopende documenten opslaat wanneer de toepassing opnieuw wordt opgestart.
CWinApp::SupportsRestartManager Bepaalt of de toepassing ondersteuning biedt voor de manager voor opnieuw opstarten.
CWinApp::Registratie van ongedaan maken Hiermee wordt de registratie ongedaan gemaakt van alles dat bekend is bij het CWinApp-object.
CWinApp::WinHelp Roept de WinHelp Windows-functie aan.
CWinApp::WriteProfileBinary Schrijft binaire gegevens naar een vermelding in de toepassing. INI-bestand.
CWinApp::WriteProfileInt Hiermee schrijft u een geheel getal naar een vermelding in de toepassing. INI-bestand.
CWinApp::WriteProfileString- Hiermee schrijft u een tekenreeks naar een vermelding in de toepassing. INI-bestand.

Beveiligde methoden

Naam Beschrijving
CWinApp::EnableShellOpen Hiermee kan de gebruiker gegevensbestanden openen vanuit Windows Bestandsbeheer.
CWinApp::LoadStdProfileSettings Laadt standaard. INI-bestandsinstellingen en schakelt de functie MRU-bestandslijst in.
CWinApp::OnContextHelp Verwerkt Shift+F1 Help in de toepassing.
CWinApp::OnFileNew- Hiermee wordt de opdracht ID_FILE_NEW geïmplementeerd.
CWinApp::OnFileOpen Hiermee wordt de opdracht ID_FILE_OPEN geïmplementeerd.
CWinApp::OnFilePrintSetup- Hiermee wordt de opdracht ID_FILE_PRINT_SETUP geïmplementeerd.
CWinApp::OnHelp- Verwerkt F1 Help binnen de toepassing (met behulp van de huidige context).
CWinApp::OnHelpFinder- Hiermee worden de opdrachten ID_HELP_FINDER en ID_DEFAULT_HELP verwerkt.
CWinApp::OnHelpIndex Verwerkt de opdracht ID_HELP_INDEX en biedt een standaard-Help-onderwerp.
CWinApp::OnHelpUsing- Hiermee wordt de opdracht ID_HELP_USING verwerkt.
CWinApp::RegisterShellFileTypes Registreert alle documenttypen van de toepassing met Windows File Manager.
CWinApp::SetAppID Hiermee stelt u de model-id van de toepassing expliciet in voor de toepassing. Deze methode moet worden aangeroepen voordat een gebruikersinterface aan de gebruiker wordt gepresenteerd (de beste plaats is de toepassingsconstructor).
CWinApp::SetRegistryKey Zorgt ervoor dat toepassingsinstellingen worden opgeslagen in het register in plaats van . INI-bestanden.
CWinApp::UnregisterShellFileTypes De registratie van alle documenttypen van de toepassing ongedaan maken met Windows File Manager.

Leden van openbare gegevens

Naam Beschrijving
CWinApp::m_bHelpMode Geeft aan of de gebruiker zich in de Help-contextmodus bevindt (meestal aangeroepen met Shift+F1).
CWinApp::m_eHelpType Hiermee geeft u het type help dat door de toepassing wordt gebruikt.
CWinApp::m_hInstance Identificeert het huidige exemplaar van de toepassing.
CWinApp::m_lpCmdLine Verwijst naar een door null beëindigde tekenreeks die de opdrachtregel voor de toepassing aangeeft.
CWinApp::m_nCmdShow Hiermee geeft u op hoe het venster in eerste instantie moet worden weergegeven.
CWinApp::m_pActiveWnd Wijs het hoofdvenster van de containertoepassing aan wanneer een OLE-server actief is.
CWinApp::m_pszAppID Model-id van toepassingsgebruiker.
CWinApp::m_pszAppName Hiermee geeft u de naam van de toepassing.
CWinApp::m_pszExeName De modulenaam van de toepassing.
CWinApp::m_pszHelpFilePath Het pad naar het Help-bestand van de toepassing.
CWinApp::m_pszProfileName De toepassing. INI-bestandsnaam.
CWinApp::m_pszRegistryKey Wordt gebruikt om de volledige registersleutel te bepalen voor het opslaan van instellingen voor het toepassingsprofiel.

Beveiligde gegevensleden

Naam Beschrijving
CWinApp::m_dwRestartManagerSupportFlags Vlaggen die bepalen hoe de manager voor opnieuw opstarten zich gedraagt.
CWinApp::m_nAutosaveInterval De tijdsduur in milliseconden tussen automatisch opslaan.
CWinApp::m_pDataRecoveryHandler Wijs de handler voor gegevensherstel voor de toepassing aan.

Opmerkingen

Een toepassingsobject biedt lidfuncties voor het initialiseren van uw toepassing (en elk exemplaar ervan) en voor het uitvoeren van de toepassing.

Elke toepassing die gebruikmaakt van de Microsoft Foundation-klassen kan slechts één object bevatten dat is afgeleid van CWinApp. Dit object wordt samengesteld wanneer andere globale C++-objecten worden gemaakt en al beschikbaar zijn wanneer Windows de WinMain-functie aanroept, die wordt geleverd door de Microsoft Foundation Class Library. Declareer uw afgeleide CWinApp-object op globaal niveau.

Wanneer u een toepassingsklasse afleiden uit CWinApp, overschrijft u de functie InitInstance lid om het hoofdvensterobject van uw toepassing te maken.

Naast de CWinApp lidfuncties biedt de Microsoft Foundation Class Library de volgende globale functies voor toegang tot uw CWinApp-object en andere algemene informatie:

  • AfxGetApp Verkrijgt een aanwijzer naar het CWinApp-object.

  • AfxGetInstanceHandle Verkrijgt een ingang voor het huidige toepassingsexemplaren.

  • AfxGetResourceHandle Verkrijgt een ingang voor de resources van de toepassing.

  • AfxGetAppName verkrijgt een aanwijzer naar een tekenreeks met de naam van de toepassing. Als u ook een aanwijzer naar het CWinApp-object hebt, gebruikt u m_pszExeName om de naam van de toepassing op te halen.

Zie CWinApp: de toepassingsklasse voor meer informatie over de CWinApp klasse, waaronder een overzicht van de volgende:

  • CWinApp-afgeleide code die is geschreven door de wizard Toepassing.

  • CWinApprol in de uitvoeringsvolgorde van uw toepassing.

  • CWinAppstandaardlidfunctie-implementaties.

  • CWinAppbelangrijke overschrijfbare functies.

Het m_hPrevInstance gegevenslid bestaat niet meer. Gebruik een benoemde mutex om te bepalen of een ander exemplaar van de toepassing wordt uitgevoerd. Als het openen van de mutex mislukt, zijn er geen andere exemplaren van de toepassing die wordt uitgevoerd.

Overnamehiërarchie

CObject-

CCmdTarget-

CWinThread-

CWinApp

Eisen

koptekst: afxwin.h

CWinApp::AddDocTemplate

Roep deze lidfunctie aan om een documentsjabloon toe te voegen aan de lijst met beschikbare documentsjablonen die door de toepassing worden onderhouden.

void AddDocTemplate(CDocTemplate* pTemplate);

Parameters

pTemplate-
Een aanwijzer naar de CDocTemplate die moet worden toegevoegd.

Opmerkingen

U moet alle documentsjablonen toevoegen aan een toepassing voordat u RegisterShellFileTypesaanroept.

Voorbeeld

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

Roep deze lidfunctie aan om lpszPathName- toe te voegen aan de lijst met MRU-bestanden.

virtual void AddToRecentFileList(LPCTSTR lpszPathName);

Parameters

lpszPathName
Het pad van het bestand.

Opmerkingen

U moet de functie LoadStdProfileSettings lid aanroepen om de huidige MRU-bestandslijst te laden voordat u deze lidfunctie gebruikt.

Het framework roept deze lidfunctie aan wanneer er een bestand wordt geopend of de opdracht Opslaan als wordt uitgevoerd om een bestand met een nieuwe naam op te slaan.

Voorbeeld

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

Aangeroepen door het framework wanneer de toepassing onverwacht wordt afgesloten.

virtual DWORD ApplicationRecoveryCallback(LPVOID lpvParam);

Parameters

lpvParam-
[in] Gereserveerd voor toekomstig gebruik.

Retourwaarde

0 als deze methode is geslaagd; nonzero als er een fout optreedt.

Opmerkingen

Als uw toepassing ondersteuning biedt voor de manager voor opnieuw opstarten, roept het framework deze functie aan wanneer uw toepassing onverwacht wordt afgesloten.

De standaard implementatie van ApplicationRecoveryCallback maakt gebruik van de CDataRecoveryHandler om de lijst met momenteel geopende documenten op te slaan in het register. Met deze methode worden geen bestanden automatisch opgeslagen.

Als u het gedrag wilt aanpassen, overschrijft u deze functie in een afgeleide CWinApp-klasse of geeft u uw eigen toepassingsherstelmethode door als parameter aan CWinApp::RegisterWithRestartManager.

CWinApp::CloseAllDocuments

Roep deze lidfunctie aan om alle geopende documenten te sluiten voordat u afsluit.

void CloseAllDocuments(BOOL bEndSession);

Parameters

bEndSession-
Hiermee geeft u op of de Windows-sessie wordt beëindigd. Het is WAAR als de sessie wordt beëindigd; anders ONWAAR.

Opmerkingen

Roep HideApplication- aan voordat u CloseAllDocumentsaanroept.

CWinApp::CreatePrinterDC

Roep deze lidfunctie aan om een printerapparaatcontext (DC) te maken van de geselecteerde printer.

BOOL CreatePrinterDC(CDC& dc);

Parameters

dc-
Een verwijzing naar de context van een printerapparaat.

Retourwaarde

Niet-nul als de context van het printerapparaat is gemaakt; anders 0.

Opmerkingen

CreatePrinterDC initialiseert de apparaatcontext die u per verwijzing doorgeeft, zodat u deze kunt gebruiken om af te drukken.

Als de functie is geslaagd, moet u de apparaatcontext vernietigen wanneer u klaar bent met afdrukken. U kunt de destructor van het CDC--object laten doen of u kunt dit expliciet doen door CDC::D eleteDC-aan te roepen.

CWinApp::CWinApp

Hiermee wordt een CWinApp-object gemaakt en wordt lpszAppName opgeslagen als de naam van de toepassing.

CWinApp(LPCTSTR lpszAppName = NULL);

Parameters

lpszAppName-
Een door null beëindigde tekenreeks die de toepassingsnaam bevat die door Windows wordt gebruikt. Als dit argument niet is opgegeven of NULL is, gebruikt CWinApp de resourcereeks AFX_IDS_APP_TITLE of de bestandsnaam van het uitvoerbare bestand.

Opmerkingen

U moet één globaal object van uw CWinApp-afgeleide klasse maken. U kunt slechts één CWinApp object in uw toepassing hebben. De constructor slaat een aanwijzer op naar het CWinApp-object, zodat WinMain de lidfuncties van het object kan aanroepen om de toepassing te initialiseren en uit te voeren.

CWinApp::D elRegTree

Hiermee verwijdert u een specifieke registersleutel en alle bijbehorende subsleutels.

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

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

Parameters

hParentKey-
Afhandelen naar een registersleutel.

strKeyName-
De naam van de registersleutel die moet worden verwijderd.

pTM-
Aanwijzer naar CAtlTransactionManager-object.

Retourwaarde

Als de functie slaagt, wordt de retourwaarde ERROR_SUCCESS. Als de functie mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in Winerror.h.

Opmerkingen

Roep deze functie aan om de opgegeven sleutel en de bijbehorende subsleutels te verwijderen.

CWinApp::D oMessageBox

Het framework roept deze lidfunctie aan om een berichtvak te implementeren voor de globale functie AfxMessageBox.

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

Parameters

lpszPrompt-
Adres van tekst in het berichtvak.

nType
Het berichtvak stijl.

nIDPrompt-
Een index naar een Help-contexttekenreeks.

Retourwaarde

Retourneert dezelfde waarden als AfxMessageBox.

Opmerkingen

Roep deze lidfunctie niet aan om een berichtvak te openen; gebruik in plaats daarvan AfxMessageBox.

Overschrijf deze lidfunctie om de verwerking van AfxMessageBox aanroepen voor de hele toepassing aan te passen.

CWinApp::D oWaitCursor

Deze lidfunctie wordt aangeroepen door het framework voor het implementeren van CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursoren CCmdTarget::RestoreWaitCursor.

virtual void DoWaitCursor(int nCode);

Parameters

nCode-
Als deze parameter 1 is, wordt er een wachtcursor weergegeven. Als 0, wordt de wachtcursor hersteld zonder het aantal verwijzingen te verhogen. Als -1 eindigt de wachtcursor.

Opmerkingen

De standaardinstelling implementeert een zandlopercursor. DoWaitCursor houdt een verwijzingsaantal bij. Als dit positief is, wordt de zandlopercursor weergegeven.

Hoewel u normaal gesproken niet rechtstreeks DoWaitCursor aanroept, kunt u deze lidfunctie overschrijven om de wachtcursor te wijzigen of om extra verwerking uit te voeren terwijl de wachtcursor wordt weergegeven.

Gebruik CWaitCursorvoor een eenvoudigere, gestroomlijndere manier om een wachtcursor te implementeren.

Voorbeeld

// 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 is vereist.

Hiermee schakelt u D2D-ondersteuning voor toepassingen in. Roep deze methode aan voordat het hoofdvenster wordt geïnitialiseerd.

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

Parameters

d2dFactoryType-
Het threadingmodel van de D2D-factory en de resources die worden gemaakt.

writeFactoryType-
Een waarde die aangeeft of het write factory-object wordt gedeeld of geïsoleerd

Retourwaarde

Retourneert TRUE als D2D-ondersteuning is ingeschakeld, ONWAAR - anders

CWinApp::EnableHtmlHelp

Roep deze lidfunctie aan vanuit de constructor van uw CWinApp-afgeleide klasse om HTMLHelp te gebruiken voor de help van uw toepassing.

void EnableHtmlHelp();

Opmerkingen

CWinApp::EnableShellOpen

Roep deze functie, meestal vanuit uw InitInstance overschrijven, aan om de gebruikers van uw toepassing in staat te stellen gegevensbestanden te openen wanneer ze dubbelklikken op de bestanden vanuit Windows Bestandsbeheer.

void EnableShellOpen();

Opmerkingen

Roep de RegisterShellFileTypes lidfunctie aan in combinatie met deze functie of geef een . REG-bestand met uw toepassing voor handmatige registratie van documenttypen.

Voorbeeld

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

Hiermee schakelt u interactie op de taakbalk in.

BOOL EnableTaskbarInteraction(BOOL bEnable = TRUE);

Parameters

bEnable-
Hiermee geeft u op of interactie met windows 7 taakbalk moet worden ingeschakeld (TRUE) of uitgeschakeld (ONWAAR).

Retourwaarde

Retourneert TRUE als interactie op de taakbalk kan worden ingeschakeld of uitgeschakeld.

Opmerkingen

Deze methode moet worden aangeroepen voordat het hoofdvenster wordt gemaakt, anders wordt onwaar weergegeven en geretourneerd.

CWinApp::ExitInstance

Aangeroepen door het framework vanuit de Run lidfunctie om dit exemplaar van de toepassing af te sluiten.

virtual int ExitInstance();

Retourwaarde

De afsluitcode van de toepassing; 0 geeft geen fouten aan en waarden groter dan 0 geven een fout aan. Deze waarde wordt gebruikt als de retourwaarde van WinMain.

Opmerkingen

Roep deze lidfunctie niet vanaf elke locatie aan, maar binnen de Run lidfunctie.

De standaard implementatie van deze functie schrijft frameworkopties naar de toepassing. INI-bestand. Overschrijf deze functie om op te schonen wanneer uw toepassing wordt beëindigd.

Voorbeeld

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

   DoCleanup();

   return CWinApp::ExitInstance();
}

CWinApp::GetApplicationRecoveryParameter

Haalt de invoerparameter voor de toepassingsherstelmethode op.

virtual LPVOID GetApplicationRecoveryParameter();

Retourwaarde

De standaardinvoerparameter voor de toepassingsherstelmethode.

Opmerkingen

Het standaardgedrag van deze functie retourneert NULL.

Zie CWinApp::ApplicationRecoveryCallbackvoor meer informatie.

CWinApp::GetApplicationRecoveryPingInterval

Retourneert de tijdsduur die de manager voor opnieuw opstarten wacht totdat de functie herstelaanroep wordt geretourneerd.

virtual DWORD GetApplicationRecoveryPingInterval();

Retourwaarde

De tijdsduur in milliseconden.

Opmerkingen

Wanneer een toepassing die is geregistreerd bij de manager voor opnieuw opstarten onverwacht wordt afgesloten, probeert de toepassing geopende documenten op te slaan en roept de callback-functie voor herstel aan. De standaard callback-functie voor herstel is CWinApp::ApplicationRecoveryCallback.

De tijdsduur die het framework wacht tot de callback-functie voor herstel moet worden geretourneerd, is het ping-interval. U kunt het pinginterval aanpassen door CWinApp::GetApplicationRecoveryPingInterval te overschrijven of door een aangepaste waarde op te geven aan RegisterWithRestartManager.

CWinApp::GetApplicationRestartFlags

Retourneert de vlaggen voor de manager voor opnieuw opstarten.

virtual DWORD GetApplicationRestartFlags();

Retourwaarde

De vlaggen voor de manager voor opnieuw opstarten. De standaard implementatie retourneert 0.

Opmerkingen

De vlaggen voor de manager voor opnieuw opstarten hebben geen effect met de standaard implementatie. Ze worden verstrekt voor toekomstig gebruik.

U stelt de vlaggen in wanneer u de toepassing registreert bij de manager voor opnieuw opstarten met behulp van CWinApp::RegisterWithRestartManager.

De mogelijke waarden voor de vlaggen van de manager voor opnieuw opstarten zijn als volgt:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::GetAppRegistryKey

Retourneert de sleutel voor HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName.

HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL);

Parameters

pTM-
Aanwijzer naar een CAtlTransactionManager-object.

Retourwaarde

Toepassingssleutel als de functie slaagt; anders NULL.

Opmerkingen

CWinApp::GetDataRecoveryHandler

Hiermee haalt u de handler voor gegevensherstel op voor dit exemplaar van de toepassing.

virtual CDataRecoveryHandler *GetDataRecoveryHandler();

Retourwaarde

De handler voor gegevensherstel voor dit exemplaar van de toepassing.

Opmerkingen

Elke toepassing die gebruikmaakt van de manager voor opnieuw opstarten, moet één exemplaar van de CDataRecoveryHandler-klassehebben. Deze klasse is verantwoordelijk voor het bewaken van geopende documenten en het automatisch opslaan van bestanden. Het gedrag van de CDataRecoveryHandler is afhankelijk van de configuratie van de manager voor opnieuw opstarten. Zie CDataRecoveryHandler Classvoor meer informatie.

Deze methode retourneert NULL op besturingssystemen ouder dan Windows Vista. De manager voor opnieuw opstarten wordt niet ondersteund op besturingssystemen ouder dan Windows Vista.

Als de toepassing momenteel geen handler voor gegevensherstel heeft, maakt deze methode er een en retourneert deze een aanwijzer.

CWinApp::GetFirstDocTemplatePosition

Hiermee haalt u de positie op van de eerste documentsjabloon in de toepassing.

POSITION GetFirstDocTemplatePosition() const;

Retourwaarde

Een POSITION-waarde die kan worden gebruikt voor iteratie of het ophalen van objectaanwijzers; NULL als de lijst leeg is.

Opmerkingen

Gebruik de POSITION-waarde die wordt geretourneerd in een aanroep om GetNextDocTemplate- op te halen om het eerste CDocTemplate--object op te halen.

CWinApp::GetHelpMode

Hiermee haalt u het type hulp op dat door de toepassing wordt gebruikt.

AFX_HELP_TYPE GetHelpMode();

Retourwaarde

Het Help-type dat door de toepassing wordt gebruikt. Zie CWinApp::m_eHelpType voor meer informatie.

CWinApp::GetNextDocTemplate

Hiermee haalt u de documentsjabloon op die wordt geïdentificeerd door posen stelt u pos in op de waarde POSITION.

CDocTemplate* GetNextDocTemplate(POSITION& pos) const;

Parameters

pos
Een verwijzing naar een POSITION-waarde die wordt geretourneerd door een eerdere aanroep naar GetNextDocTemplate of GetFirstDocTemplatePosition. De waarde wordt bijgewerkt naar de volgende positie door deze aanroep.

Retourwaarde

Een aanwijzer naar een CDocTemplate-object.

Opmerkingen

U kunt GetNextDocTemplate in een doorstuurlus gebruiken als u de initiële positie met een aanroep naar GetFirstDocTemplatePositiontot stand brengt.

U moet ervoor zorgen dat uw POSITION-waarde geldig is. Als deze ongeldig is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library asserties.

Als de opgehaalde documentsjabloon de laatst beschikbare is, wordt de nieuwe waarde van pos ingesteld op NULL.

CWinApp::GetPrinterDeviceDefaults

Roep deze lidfunctie aan om een printerapparaatcontext voor te bereiden voor afdrukken.

BOOL GetPrinterDeviceDefaults(struct tagPDA* pPrintDlg);

Parameters

pPrintDlg-
Een aanwijzer naar een PRINTDLG structuur.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Hiermee haalt u de standaardinstellingen voor de huidige printer op uit Windows. INI-bestand indien nodig of gebruikt de laatste printerconfiguratie die door de gebruiker is ingesteld in Print Setup.

Voorbeeld

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

Roep deze lidfunctie aan om binaire gegevens op te halen uit een vermelding in een opgegeven sectie van het register van de toepassing of . INI-bestand.

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

Parameters

lpszSection-
Verwijst naar een door null beëindigde tekenreeks die de sectie met de vermelding aangeeft.

lpszEntry-
Verwijst naar een door null beëindigde tekenreeks die de vermelding bevat waarvan de waarde moet worden opgehaald.

ppData-
Verwijst naar een aanwijzer die het adres van de gegevens ontvangt.

pBytes-
Verwijst naar een UINT die de grootte van de gegevens ontvangt (in bytes).

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Deze lidfunctie is niet hoofdlettergevoelig, dus de tekenreeksen in de lpszSection en lpszEntry parameters kunnen verschillen in het geval.

Notitie

GetProfileBinary wijst een buffer toe en retourneert het adres in * ppData-. De beller is verantwoordelijk voor het vrijmaken van de buffer met behulp van verwijderen [].

Belangrijk

De gegevens die door deze functie worden geretourneerd, zijn niet noodzakelijkerwijs NULL beëindigd en de aanroeper moet validatie uitvoeren. Zie Bufferoverschrijdingen voorkomenvoor meer informatie.

Voorbeeld

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

Zie CWinApp::WriteProfileBinaryvoor een extra voorbeeld.

CWinApp::GetProfileInt

Roep deze lidfunctie aan om de waarde van een geheel getal op te halen uit een vermelding in een opgegeven sectie van het register van de toepassing of . INI-bestand.

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

Parameters

lpszSection-
Verwijst naar een door null beëindigde tekenreeks die de sectie met de vermelding aangeeft.

lpszEntry-
Verwijst naar een door null beëindigde tekenreeks die de vermelding bevat waarvan de waarde moet worden opgehaald.

nDefault-
Hiermee geeft u de standaardwaarde op die moet worden geretourneerd als het framework de vermelding niet kan vinden.

Retourwaarde

De gehele waarde van de tekenreeks die volgt op de opgegeven vermelding als de functie is geslaagd. De retourwaarde is de waarde van de nDefault parameter als de functie de vermelding niet vindt. De retourwaarde is 0 als de waarde die overeenkomt met de opgegeven vermelding geen geheel getal is.

Deze lidfunctie ondersteunt hexadecimale notatie voor de waarde in de . INI-bestand. Wanneer u een ondertekend geheel getal ophaalt, moet u de waarde naar een intcasten.

Opmerkingen

Deze lidfunctie is niet hoofdlettergevoelig, dus de tekenreeksen in de lpszSection en lpszEntry parameters kunnen verschillen in het geval.

Belangrijk

De gegevens die door deze functie worden geretourneerd, zijn niet noodzakelijkerwijs NULL beëindigd en de aanroeper moet validatie uitvoeren. Zie Bufferoverschrijdingen voorkomenvoor meer informatie.

Voorbeeld

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

Zie CWinApp::WriteProfileIntvoor een extra voorbeeld.

CWinApp::GetProfileString

Roep deze lidfunctie aan om de tekenreeks op te halen die is gekoppeld aan een vermelding in de opgegeven sectie in het register van de toepassing of . INI-bestand.

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

Parameters

lpszSection-
Verwijst naar een door null beëindigde tekenreeks die de sectie met de vermelding aangeeft.

lpszEntry-
Verwijst naar een door null beëindigde tekenreeks die de vermelding bevat waarvan de tekenreeks moet worden opgehaald. Deze waarde mag niet NULL zijn.

lpszDefault-
Verwijst naar de standaardtekenreekswaarde voor de opgegeven vermelding als de vermelding niet kan worden gevonden in het initialisatiebestand.

Retourwaarde

De retourwaarde is de tekenreeks van de toepassing. INI-bestand of lpszDefault als de tekenreeks niet kan worden gevonden. De maximale tekenreekslengte die door het framework wordt ondersteund, is _MAX_PATH. Als lpszDefault- NULL is, is de retourwaarde een lege tekenreeks.

Opmerkingen

Belangrijk

De gegevens die door deze functie worden geretourneerd, zijn niet noodzakelijkerwijs NULL beëindigd en de aanroeper moet validatie uitvoeren. Zie Bufferoverschrijdingen voorkomenvoor meer informatie.

Voorbeeld

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

Zie het voorbeeld voor CWinApp::GetProfileIntvoor een ander voorbeeld.

CWinApp::GetSectionKey

Retourneert de sleutel voor HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection.

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

Parameters

lpszSection-
De naam van de sleutel die moet worden verkregen.

pTM-
Aanwijzer naar een CAtlTransactionManager-object.

Retourwaarde

Sectiesleutel als de functie slaagt; anders NULL.

Opmerkingen

CWinApp::HideApplication

Roep deze lidfunctie aan om een toepassing te verbergen voordat u de geopende documenten sluit.

void HideApplication();

CWinApp::HtmlHelp

Roep deze lidfunctie aan om de HTMLHelp-toepassing aan te roepen.

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

Parameters

dwData-
Hiermee geeft u aanvullende gegevens op. De gebruikte waarde is afhankelijk van de waarde van de parameter nCmd. Standaard ingesteld op 0x000F, wat HH_HELP_CONTEXTbetekent.

nCmd-
Hiermee geeft u het type hulp aangevraagd. Zie voor een lijst met mogelijke waarden en hoe deze van invloed zijn op de parameter dwData de parameter uCommand beschreven in de HtmlHelpW- of HtmlHelpA API-functies in de Windows SDK.

Opmerkingen

Het framework roept deze functie ook aan om de HTMLHelp-toepassing aan te roepen.

Het framework sluit de HTMLHelp-toepassing automatisch wanneer uw toepassing wordt beëindigd.

CWinApp::InitInstance

In Windows kunnen verschillende exemplaren van hetzelfde programma tegelijkertijd worden uitgevoerd.

virtual BOOL InitInstance();

Retourwaarde

Niet-nul als initialisatie is geslaagd; anders 0.

Opmerkingen

Initialisatie van toepassingen is conceptueel onderverdeeld in twee secties: eenmalige initialisatie van toepassingen die wordt uitgevoerd wanneer het programma voor het eerst wordt uitgevoerd en initialisatie van exemplaren die telkens worden uitgevoerd wanneer een kopie van het programma wordt uitgevoerd, inclusief de eerste keer. De implementatie van het framework van WinMain roept deze functie aan.

Overschrijf InitInstance om elk nieuw exemplaar van uw toepassing te initialiseren dat wordt uitgevoerd onder Windows. Normaal gesproken overschrijft u InitInstance om het hoofdvensterobject te maken en stelt u het CWinThread::m_pMainWnd gegevenslid in om naar dat venster te verwijzen. Zie CWinApp: De toepassingsklassevoor meer informatie over het overschrijven van deze lidfunctie.

Notitie

MFC-toepassingen moeten worden geïnitialiseerd als één threaded appartement (STA). Als u CoInitializeEx aanroept in uw InitInstance overschrijven, geeft u COINIT_APARTMENTTHREADED op (in plaats van COINIT_MULTITHREADED).

Voorbeeld

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

Hiermee wordt aangegeven of interactie met de taakbalk van Windows 7 is ingeschakeld.

virtual BOOL IsTaskbarInteractionEnabled();

Retourwaarde

Retourneert TRUE als EnableTaskbarInteraction is aangeroepen en het besturingssysteem Windows 7 of hoger is.

Opmerkingen

Interactie op de taakbalk betekent dat de MDI-toepassing de inhoud weergeeft van MDI-onderliggende items in afzonderlijke miniaturen op tabbladen die worden weergegeven wanneer de muis aanwijzer op de taakbalkknop van de toepassing staat.

CWinApp::LoadCursor

Laadt de cursorresource met de naam lpszResourceName of opgegeven door nIDResource uit het huidige uitvoerbare bestand.

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

Parameters

lpszResourceName
Verwijst naar een door null beëindigde tekenreeks die de naam van de cursorresource bevat. U kunt een CString gebruiken voor dit argument.

nIDResource-
Id van de cursorresource. Zie LoadCursor- in de Windows SDK voor een lijst met resources.

Retourwaarde

Een ingang naar een cursor als dit lukt; anders NULL.

Opmerkingen

LoadCursor de cursor alleen in het geheugen laadt als deze nog niet eerder is geladen; anders wordt een ingang van de bestaande resource opgehaald.

Gebruik de functie LoadStandardCursor of LoadOEMCursor lidfunctie voor toegang tot de vooraf gedefinieerde Windows-cursors.

Voorbeeld

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

Laadt de pictogramresource met de naam lpszResourceName of opgegeven door nIDResource uit het uitvoerbare bestand.

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

Parameters

lpszResourceName
Verwijst naar een door null beëindigde tekenreeks die de naam van de pictogramresource bevat. U kunt ook een CString voor dit argument gebruiken.

nIDResource-
Id-nummer van de pictogramresource.

Retourwaarde

Een ingang naar een pictogram als dit lukt; anders NULL.

Opmerkingen

LoadIcon het pictogram alleen laadt als het niet eerder is geladen; anders wordt een ingang van de bestaande resource opgehaald.

U kunt de functie LoadStandardIcon of LoadOEMIcon lidfunctie gebruiken voor toegang tot de vooraf gedefinieerde Windows-pictogrammen.

Notitie

Deze lidfunctie roept de Win32 API-functie aan LoadIcon, die alleen een pictogram kan laden waarvan de grootte voldoet aan de metrische waarden van het SM_CXICON en SM_CYICON systeem.

CWinApp::LoadOEMCursor

Laadt de vooraf gedefinieerde Windows-cursorresource die is opgegeven door nIDCursor-.

HCURSOR LoadOEMCursor(UINT nIDCursor) const;

Parameters

nIDCursor-
Een OCR_ manifestconstante-id waarmee een vooraf gedefinieerde Windows-cursor wordt opgegeven. U moet #define OEMRESOURCE hebben voordat #include \<afxwin.h> om toegang te krijgen tot de OCR_ constanten in WINDOWS.H.

Retourwaarde

Een ingang naar een cursor als dit lukt; anders NULL.

Opmerkingen

Gebruik de functie LoadOEMCursor of LoadStandardCursor lid om toegang te krijgen tot de vooraf gedefinieerde Windows-cursors.

Voorbeeld

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

Laadt de vooraf gedefinieerde Windows-pictogramresource die is opgegeven door nIDIcon.

HICON LoadOEMIcon(UINT nIDIcon) const;

Parameters

nIDIcon-
Een OIC_ manifestconstante id waarmee een vooraf gedefinieerd Windows-pictogram wordt opgegeven. U moet #define OEMRESOURCE hebben voordat #include \<afxwin.h> toegang heeft tot de OIC_ constanten in WINDOWS.H.

Retourwaarde

Een ingang naar een pictogram als dit lukt; anders NULL.

Opmerkingen

Gebruik de functie LoadOEMIcon of LoadStandardIcon lid om toegang te krijgen tot de vooraf gedefinieerde Windows-pictogrammen.

CWinApp::LoadStandardCursor

Laadt de vooraf gedefinieerde Windows-cursorresource die lpszCursorName opgeeft.

HCURSOR LoadStandardCursor(LPCTSTR lpszCursorName) const;

Parameters

lpszCursorName
Een IDC_ manifestconstante-id waarmee een vooraf gedefinieerde Windows-cursor wordt opgegeven. Deze id's worden gedefinieerd in WINDOWS.H. De volgende lijst bevat de mogelijke vooraf gedefinieerde waarden en betekenissen voor lpszCursorName:

  • IDC_ARROW standaardpijlcursor

  • IDC_IBEAM standaard cursor voor tekstinvoeging

  • IDC_WAIT zandlopercursor gebruikt wanneer Windows een tijdrovende taak uitvoert

  • IDC_CROSS kruiscursor voor selectie

  • IDC_UPARROW pijl die recht omhoog wijst

  • IDC_SIZE verouderd en niet ondersteund; IDC_SIZEALL gebruiken

  • IDC_SIZEALL Een vierpuntige pijl. De cursor die u wilt gebruiken om het formaat van een venster te wijzigen.

  • IDC_ICON verouderd en niet ondersteund. Gebruik IDC_ARROW.

  • IDC_SIZENWSE tweepuntige pijl met uiteinden linksboven en rechtsonder

  • IDC_SIZENESW pijl met twee punten rechtsboven en linksonder

  • IDC_SIZEWE horizontale tweepuntige pijl

  • IDC_SIZENS verticale tweepuntige pijl

Retourwaarde

Een ingang naar een cursor als dit lukt; anders NULL.

Opmerkingen

Gebruik de functie LoadStandardCursor of LoadOEMCursor lid om toegang te krijgen tot de vooraf gedefinieerde Windows-cursors.

Voorbeeld

HCURSOR hCursor;

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

CWinApp::LoadStandardIcon

Laadt de vooraf gedefinieerde Windows-pictogramresource die lpszIconName opgeeft.

HICON LoadStandardIcon(LPCTSTR lpszIconName) const;

Parameters

lpszIconName
Een manifestconstante-id die een vooraf gedefinieerd Windows-pictogram aangeeft. Deze id's worden gedefinieerd in WINDOWS.H. Zie de parameter lpIconName in LoadIcon in de Windows SDK voor een lijst met mogelijke vooraf gedefinieerde waarden en beschrijvingen.

Retourwaarde

Een ingang naar een pictogram als dit lukt; anders NULL.

Opmerkingen

Gebruik de functie LoadStandardIcon of LoadOEMIcon lid om toegang te krijgen tot de vooraf gedefinieerde Windows-pictogrammen.

CWinApp::LoadStdProfileSettings

Roep deze lidfunctie aan vanuit de functie InitInstance lid om de lijst met meest recent gebruikte (MRU)-bestanden en de laatste preview-status in te schakelen en te laden.

void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);

Parameters

nMaxMRU-
Het aantal onlangs gebruikte bestanden dat moet worden bijgehouden.

Opmerkingen

Als nMaxMRU 0 is, wordt er geen MRU-lijst bijgehouden.

CWinApp::m_bHelpMode

WAAR als de toepassing zich in de Help-contextmodus bevindt (conventioneel aangeroepen met SHIFT + F1); anders ONWAAR.

BOOL m_bHelpMode;

Opmerkingen

In de Help-contextmodus wordt de cursor een vraagteken en kan de gebruiker deze over het scherm verplaatsen. Bekijk deze vlag als u speciale verwerking wilt implementeren in de Help-modus. m_bHelpMode is een openbare variabele van het type BOOL.

CWinApp::m_dwRestartManagerSupportFlags

Vlaggen die bepalen hoe de manager voor opnieuw opstarten zich gedraagt.

DWORD m_dwRestartManagerSupportFlags;

Opmerkingen

Als u de manager voor opnieuw opstarten wilt inschakelen, stelt u m_dwRestartManagerSupportFlags in op het gewenste gedrag. In de volgende tabel ziet u de vlaggen die beschikbaar zijn.

Vlag Beschrijving
AFX_RESTART_MANAGER_SUPPORT_RESTART De toepassing wordt geregistreerd met behulp van CWinApp::RegisterWithRestartManager. De manager voor opnieuw opstarten is verantwoordelijk voor het opnieuw opstarten van de toepassing als deze onverwacht wordt afgesloten.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY De toepassing wordt geregistreerd bij de manager voor opnieuw opstarten en de manager voor opnieuw opstarten roept de functie voor herstelaanroep aan wanneer de toepassing opnieuw wordt opgestart. De standaard callback-functie voor herstel is CWinApp::ApplicationRecoveryCallback.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART Automatisch opslaan is ingeschakeld en de manager voor opnieuw opstarten automatisch geopende documenten opslaan wanneer de toepassing opnieuw wordt opgestart.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL Automatisch opslaan is ingeschakeld en de manager voor het opnieuw opstarten automatisch opslaan van geopende documenten met een regelmatig interval. Het interval wordt gedefinieerd door CWinApp::m_nAutosaveInterval.
- AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES De manager voor opnieuw opstarten opent eerder documenten nadat de toepassing opnieuw is opgestart vanaf een onverwachte afsluiting. De CDataRecoveryHandler Class verwerkt het opslaan van de lijst met geopende documenten en het herstellen ervan.
- AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES De manager voor opnieuw opstarten vraagt de gebruiker om automatisch opgeslagen bestanden te herstellen nadat de toepassing opnieuw is opgestart. De CDataRecoveryHandler klasse voert een query uit op de gebruiker.
- AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE De samenvoeging van AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_SUPPORT_RECOVER en AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES.
- AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS De samenvoeging van AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL en AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
- AFX_RESTART_MANAGER_SUPPORT_RESTART_ASPECTS De samenvoeging van AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES en AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY_ASPECTS De samenvoeging ofAFX_RESTART_MANAGER_SUPPORT_RECOVERY, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES en AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.

CWinApp::m_eHelpType

Het type van dit gegevenslid is het geïnventariseerd type AFX_HELP_TYPE, dat is gedefinieerd in de CWinApp-klasse.

AFX_HELP_TYPE m_eHelpType;

Opmerkingen

De opsomming AFX_HELP_TYPE wordt als volgt gedefinieerd:

enum AFX_HELP_TYPE {
    afxWinHelp = 0,
    afxHTMLHelp = 1
    };
  • Als u de Help van de toepassing wilt instellen op HTML Help, roept u SetHelpMode- aan en geeft u afxHTMLHelpop.

  • Als u de help van de toepassing wilt instellen voor WinHelp, roept u SetHelpMode aan en geeft u afxWinHelpop.

CWinApp::m_hInstance

Komt overeen met de hInstance- parameter die door Windows wordt doorgegeven aan WinMain.

HINSTANCE m_hInstance;

Opmerkingen

Het m_hInstance gegevenslid is een ingang voor het huidige exemplaar van de toepassing die wordt uitgevoerd onder Windows. Dit wordt geretourneerd door de globale functie AfxGetInstanceHandle. m_hInstance is een openbare variabele van het type HINSTANCE.

Voorbeeld

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

Komt overeen met de parameter lpCmdLine die door Windows wordt doorgegeven aan WinMain.

LPTSTR m_lpCmdLine;

Opmerkingen

Verwijst naar een door null beëindigde tekenreeks die de opdrachtregel voor de toepassing aangeeft. Gebruik m_lpCmdLine om toegang te krijgen tot opdrachtregelargumenten die de gebruiker heeft ingevoerd toen de toepassing werd gestart. m_lpCmdLine is een openbare variabele van het type LPTSTR.

Voorbeeld

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

De tijdsduur in milliseconden tussen automatisch opslaan.

int m_nAutosaveInterval;

Opmerkingen

U kunt het beheer voor opnieuw opstarten configureren om geopende documenten automatisch op te slaan met ingestelde intervallen. Als uw toepassing geen bestanden automatisch opslaat, heeft deze parameter geen effect.

CWinApp::m_nCmdShow

Komt overeen met de parameter nCmdShow door Windows doorgegeven aan WinMain.

int m_nCmdShow;

Opmerkingen

Geef m_nCmdShow als argument door wanneer u CWnd::ShowWindow aanroept voor het hoofdvenster van uw toepassing. m_nCmdShow is een openbare variabele van het type int.

Voorbeeld

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

Gebruik dit gegevenslid om een aanwijzer op te slaan naar het hoofdvenster van de OLE-containertoepassing waarop de OLE-servertoepassing is geactiveerd.

Opmerkingen

Als dit gegevenslid NULL is, is de toepassing niet in-place actief.

Het framework stelt deze lidvariabele in wanneer het framevenster is geactiveerd door een OLE-containertoepassing.

CWinApp::m_pDataRecoveryHandler

Wijs de handler voor gegevensherstel voor de toepassing aan.

CDataRecoveryHandler* m_pDataRecoveryHandler;

Opmerkingen

Met de gegevensherstelhandler van een toepassing worden geopende documenten bewaakt en automatisch opgeslagen. Het framework maakt gebruik van de handler voor gegevensherstel om automatisch opgeslagen bestanden te herstellen wanneer een toepassing opnieuw wordt opgestart nadat deze onverwacht is afgesloten. Zie CDataRecoveryHandler Classvoor meer informatie.

CWinApp::m_pszAppName

Hiermee geeft u de naam van de toepassing.

LPCTSTR m_pszAppName;

Opmerkingen

De naam van de toepassing kan afkomstig zijn van de parameter die is doorgegeven aan de CWinApp constructor, of, indien niet opgegeven, aan de resourcereeks met de id van AFX_IDS_APP_TITLE. Als de naam van de toepassing niet in de resource wordt gevonden, komt deze uit de .EXE bestandsnaam van het programma.

Geretourneerd door de globale functie AfxGetAppName. m_pszAppName is een openbare variabele van het type const char*.

Notitie

Als u een waarde toewijst aan m_pszAppName, moet deze dynamisch worden toegewezen aan de heap. De CWinApp destructor roept gratis( ) aan met deze aanwijzer. U wilt de runtime-functie _tcsdup( ) gebruiken om de toewijzing uit te voeren. Maak ook het geheugen vrij dat is gekoppeld aan de huidige aanwijzer voordat u een nieuwe waarde toewijst. Bijvoorbeeld:

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

Voorbeeld

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

Bevat de naam van het uitvoerbare bestand van de toepassing zonder extensie.

LPCTSTR m_pszExeName;

Opmerkingen

In tegenstelling tot m_pszAppNamemag deze naam geen lege waarden bevatten. m_pszExeName is een openbare variabele van het type const char*.

Notitie

Als u een waarde toewijst aan m_pszExeName, moet deze dynamisch worden toegewezen aan de heap. De CWinApp destructor roept gratis( ) aan met deze aanwijzer. U wilt de runtime-functie _tcsdup( ) gebruiken om de toewijzing uit te voeren. Maak ook het geheugen vrij dat is gekoppeld aan de huidige aanwijzer voordat u een nieuwe waarde toewijst. Bijvoorbeeld:

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

Bevat het pad naar het Help-bestand van de toepassing.

LPCTSTR m_pszHelpFilePath;

Opmerkingen

Standaard initialiseert het framework m_pszHelpFilePath met de naam van de toepassing met '. HLP' toegevoegd. Als u de naam van het Help-bestand wilt wijzigen, stelt u m_pszHelpFilePath in zodat deze verwijst naar een tekenreeks die de volledige naam van het gewenste Help-bestand bevat. Een handige plek om dit te doen, is in de InitInstance functie van de toepassing. m_pszHelpFilePath is een openbare variabele van het type const char*.

Notitie

Als u een waarde toewijst aan m_pszHelpFilePath, moet deze dynamisch worden toegewezen aan de heap. De CWinApp destructor roept gratis( ) aan met deze aanwijzer. U wilt de runtime-functie _tcsdup( ) gebruiken om de toewijzing uit te voeren. Maak ook het geheugen vrij dat is gekoppeld aan de huidige aanwijzer voordat u een nieuwe waarde toewijst. Bijvoorbeeld:

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

Bevat de naam van de toepassing. INI-bestand.

LPCTSTR m_pszProfileName;

Opmerkingen

m_pszProfileName is een openbare variabele van het type const char*.

Notitie

Als u een waarde toewijst aan m_pszProfileName, moet deze dynamisch worden toegewezen aan de heap. De CWinApp destructor roept gratis( ) aan met deze aanwijzer. U wilt de runtime-functie _tcsdup( ) gebruiken om de toewijzing uit te voeren. Maak ook het geheugen vrij dat is gekoppeld aan de huidige aanwijzer voordat u een nieuwe waarde toewijst. Bijvoorbeeld:

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

Wordt gebruikt om te bepalen waar, in het register- of INI-bestand, instellingen voor toepassingsprofielen worden opgeslagen.

LPCTSTR m_pszRegistryKey;

Opmerkingen

Normaal gesproken wordt dit gegevenslid behandeld als alleen-lezen.

  • De waarde wordt opgeslagen in een registersleutel. De naam voor de toepassingsprofielinstelling wordt toegevoegd aan de volgende registersleutel: HKEY_CURRENT_USER/Software/LocalAppWizard-Generated/.

Als u een waarde toewijst aan m_pszRegistryKey, moet deze dynamisch worden toegewezen aan de heap. De CWinApp destructor roept gratis( ) aan met deze aanwijzer. U wilt de runtime-functie _tcsdup( ) gebruiken om de toewijzing uit te voeren. Maak ook het geheugen vrij dat is gekoppeld aan de huidige aanwijzer voordat u een nieuwe waarde toewijst. Bijvoorbeeld:

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

Model-id van toepassingsgebruiker.

LPCTSTR m_pszAppID;

Opmerkingen

CWinApp::OnContextHelp

Verwerkt Shift+F1 Help in de toepassing.

afx_msg void OnContextHelp();

Opmerkingen

U moet een ON_COMMAND( ID_CONTEXT_HELP, OnContextHelp ) instructie toevoegen aan uw CWinApp klasseberichtoverzicht en ook een vermelding voor de tabelversneller toevoegen, meestal Shift+F1, om deze lidfunctie in te schakelen.

OnContextHelp de toepassing in de Help-modus plaatst. De cursor verandert in een pijl en een vraagteken en de gebruiker kan vervolgens de muisaanwijzer verplaatsen en op de linkermuisknop drukken om een dialoogvenster, venster, menu of opdrachtknop te selecteren. Deze lidfunctie haalt de Help-context van het object onder de cursor op en roept de Windows-functie WinHelp aan met die Help-context.

CWinApp::OnDDECommand

Aangeroepen door het framework wanneer het hoofdframevenster een DDE-uitvoerbericht ontvangt.

virtual BOOL OnDDECommand(LPTSTR lpszCommand);

Parameters

lpszCommand-
Verwijst naar een DDE-opdrachtreeks die door de toepassing is ontvangen.

Retourwaarde

Niet-nul als de opdracht wordt verwerkt; anders 0.

Opmerkingen

De standaard implementatie controleert of de opdracht een aanvraag is om een document te openen. Als dit het volgende is, wordt het opgegeven document geopend. Windows File Manager verzendt meestal dergelijke DDE-opdrachtreeksen wanneer de gebruiker dubbelklikt op een gegevensbestand. Overschrijf deze functie om andere DDE-opdrachten uit te voeren, zoals de opdracht die moet worden afgedrukt.

Voorbeeld

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

Hiermee wordt de opdracht ID_FILE_NEW geïmplementeerd.

afx_msg void OnFileNew();

Opmerkingen

U moet een ON_COMMAND( ID_FILE_NEW, OnFileNew ) instructie toevoegen aan de CWinApp klasseberichttoewijzing om deze lidfunctie in te schakelen. Als deze functie is ingeschakeld, wordt de uitvoering van de opdracht Bestand nieuw afgehandeld.

Zie Technical Note 22 voor informatie over het standaardgedrag en richtlijnen voor het overschrijven van deze lidfunctie.

Voorbeeld

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

Hiermee wordt de opdracht ID_FILE_OPEN geïmplementeerd.

afx_msg void OnFileOpen();

Opmerkingen

U moet een ON_COMMAND( ID_FILE_OPEN, OnFileOpen ) instructie toevoegen aan de CWinApp klasseberichttoewijzing om deze lidfunctie in te schakelen. Als deze functie is ingeschakeld, wordt de uitvoering van de opdracht Bestand openen afgehandeld.

Zie Technical Note 22voor informatie over het standaardgedrag en de richtlijnen voor het overschrijven van deze lidfunctie.

Voorbeeld

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

Hiermee wordt de opdracht ID_FILE_PRINT_SETUP geïmplementeerd.

afx_msg void OnFilePrintSetup();

Opmerkingen

U moet een ON_COMMAND( ID_FILE_PRINT_SETUP, OnFilePrintSetup ) instructie toevoegen aan de CWinApp klasseberichttoewijzing om deze lidfunctie in te schakelen. Als deze functie is ingeschakeld, wordt de uitvoering van de opdracht File Print verwerkt.

Zie Technical Note 22voor informatie over het standaardgedrag en de richtlijnen voor het overschrijven van deze lidfunctie.

Voorbeeld

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

Verwerkt F1 Help binnen de toepassing (met behulp van de huidige context).

afx_msg void OnHelp();

Opmerkingen

Meestal voegt u ook een vermelding van de accelerator-key toe voor de F1-toets. Het inschakelen van de F1-sleutel is alleen een conventie, geen vereiste.

U moet een ON_COMMAND( ID_HELP, OnHelp ) instructie toevoegen aan de CWinApp klasseberichttoewijzing om deze lidfunctie in te schakelen. Indien ingeschakeld, wordt dit door het framework aangeroepen wanneer de gebruiker op de F1-toets drukt.

De standaard implementatie van deze berichtenhandlerfunctie bepaalt de Help-context die overeenkomt met het huidige venster, dialoogvenster of menu-item en roept vervolgens WINHELP.EXE aan. Als er momenteel geen context beschikbaar is, gebruikt de functie de standaardcontext.

Overschrijf deze lidfunctie om de Help-context in te stellen op iets anders dan het venster, het dialoogvenster, het menu-item of de werkbalkknop die momenteel de focus heeft. Roep WinHelp aan met de gewenste Help-context-id.

CWinApp::OnHelpFinder

Hiermee worden de opdrachten ID_HELP_FINDER en ID_DEFAULT_HELP verwerkt.

afx_msg void OnHelpFinder();

Opmerkingen

U moet een ON_COMMAND( ID_HELP_FINDER, OnHelpFinder ) instructie toevoegen aan de CWinApp klasseberichttoewijzing om deze lidfunctie in te schakelen. Als dit is ingeschakeld, roept het framework deze berichtenhandlerfunctie aan wanneer de gebruiker van uw toepassing de Help Finder-opdracht selecteert om WinHelp aan te roepen met het standaardonderwerp HELP_FINDER.

CWinApp::OnHelpIndex

Verwerkt de opdracht ID_HELP_INDEX en biedt een standaard-Help-onderwerp.

afx_msg void OnHelpIndex();

Opmerkingen

U moet een ON_COMMAND( ID_HELP_INDEX, OnHelpIndex ) instructie toevoegen aan de CWinApp klasseberichttoewijzing om deze lidfunctie in te schakelen. Als dit is ingeschakeld, roept het framework deze berichtenhandlerfunctie aan wanneer de gebruiker van uw toepassing de opdracht Help-index selecteert om WinHelp aan te roepen met het standaardonderwerp HELP_INDEX.

CWinApp::OnHelpUsing

Hiermee wordt de opdracht ID_HELP_USING verwerkt.

afx_msg void OnHelpUsing();

Opmerkingen

U moet een ON_COMMAND( ID_HELP_USING, OnHelpUsing ) instructie toevoegen aan de CWinApp klasseberichttoewijzing om deze lidfunctie in te schakelen. In het framework wordt deze berichtenhandlerfunctie aangeroepen wanneer de gebruiker van uw toepassing de opdracht Help gebruiken selecteert om de WinHelp toepassing aan te roepen met het standaardonderwerp HELP_HELPONHELP.

CWinApp::OnIdle

Overschrijf deze lidfunctie om niet-actieve tijdverwerking uit te voeren.

virtual BOOL OnIdle(LONG lCount);

Parameters

lCount-
Telkens wanneer OnIdle wordt aangeroepen, wordt een teller verhoogd wanneer de berichtenwachtrij van de toepassing leeg is. Dit aantal wordt opnieuw ingesteld op 0 telkens wanneer een nieuw bericht wordt verwerkt. U kunt de parameter lCount gebruiken om te bepalen hoe lang de toepassing inactief is geweest zonder een bericht te verwerken.

Retourwaarde

Niet-nul om meer niet-actieve verwerkingstijd te ontvangen; 0 als er geen niet-actieve tijd meer nodig is.

Opmerkingen

OnIdle wordt aangeroepen in de standaardberichtlus wanneer de berichtenwachtrij van de toepassing leeg is. Gebruik uw onderdrukking om uw eigen niet-actieve taken op de achtergrond aan te roepen.

OnIdle moet 0 retourneren om aan te geven dat er geen niet-actieve verwerkingstijd is vereist. De parameter lCount wordt steeds verhoogd wanneer OnIdle wordt aangeroepen wanneer de berichtenwachtrij leeg is en telkens opnieuw wordt ingesteld op 0 wanneer een nieuw bericht wordt verwerkt. U kunt uw verschillende niet-actieve routines aanroepen op basis van dit aantal.

Hieronder ziet u een overzicht van de verwerking van niet-actieve lus:

  1. Als de berichtenlus in de Microsoft Foundation Class Library de berichtenwachtrij controleert en er geen berichten in behandeling zijn, wordt OnIdle aangeroepen voor het toepassingsobject en wordt 0 geleverd als het argument lCount.

  2. OnIdle voert een bepaalde verwerking uit en retourneert een niet-nulwaarde om aan te geven dat deze opnieuw moet worden aangeroepen om verdere verwerking uit te voeren.

  3. De berichtenlus controleert de berichtenwachtrij opnieuw. Als er geen berichten in behandeling zijn, wordt OnIdle opnieuw aanroepen, waardoor het argument lCount wordt verhoogd.

  4. Uiteindelijk voltooit OnIdle de verwerking van alle niet-actieve taken en retourneert 0. Hierdoor wordt de berichtenlus gestopt met het aanroepen van OnIdle totdat het volgende bericht wordt ontvangen uit de berichtenwachtrij, waarna de niet-actieve cyclus opnieuw wordt gestart met het argument ingesteld op 0.

Voer geen langdurige taken uit tijdens OnIdle omdat uw toepassing geen gebruikersinvoer kan verwerken totdat OnIdle terugkeert.

Notitie

De standaard implementatie van OnIdle werkt opdrachten voor gebruikersinterfaceobjecten zoals menu-items en werkbalkknoppen bij en voert interne gegevensstructuur op. Als u OnIdleoverschrijft, moet u daarom CWinApp::OnIdle aanroepen met de lCount in uw overschreven versie. Roep eerst alle niet-actieve verwerking van basisklasse aan (dat wil gezegd, totdat de basisklasse OnIdle 0 retourneert). Als u werk moet uitvoeren voordat de verwerking van basisklassen is voltooid, controleert u de basisklasse-implementatie om de juiste lCount te selecteren waarin u uw werk moet uitvoeren.

Als u niet wilt dat OnIdle worden aangeroepen wanneer een bericht wordt opgehaald uit de berichtenwachtrij, kunt u de CWinThreadIsIdleMessage-overschrijven. Als een toepassing een zeer korte timer heeft ingesteld of als het systeem het WM_SYSTIMER bericht verzendt, wordt OnIdle herhaaldelijk aangeroepen en worden de prestaties verminderd.

Voorbeeld

In de volgende twee voorbeelden ziet u hoe u OnIdlekunt gebruiken. In het eerste voorbeeld worden twee niet-actieve taken verwerkt met behulp van het argument lCount om prioriteit te geven aan de taken. De eerste taak heeft hoge prioriteit en u moet dit waar mogelijk doen. De tweede taak is minder belangrijk en moet alleen worden uitgevoerd wanneer er een lange pauze is in gebruikersinvoer. Noteer de aanroep van de basisklasseversie van OnIdle. In het tweede voorbeeld wordt een groep niet-actieve taken met verschillende prioriteiten beheerd.

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

In het framework wordt deze methode aangeroepen om het bestand met de naam CDocument voor de toepassing te openen.

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

Parameters

lpszFileName
[in] De naam van het te openen bestand.

bAddToMRU-
[in] TRUE geeft aan dat het document een van de meest recente bestanden is; FALSE geeft aan dat het document niet een van de meest recente bestanden is.

Retourwaarde

Een aanwijzer naar een CDocument indien geslaagd; anders NULL.

Opmerkingen

Als een document met die naam al is geopend, krijgt het eerste framevenster met dat document de focus. Als een toepassing meerdere documentsjablonen ondersteunt, gebruikt het framework de bestandsnaamextensie om de juiste documentsjabloon te vinden om het document te laden. Als dit lukt, maakt de documentsjabloon vervolgens een framevenster en weergave voor het document.

Voorbeeld

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

Roep deze lidfunctie aan om de opdrachtregel te parseren en de parameters één voor één te verzenden naar CCommandLineInfo::P arseParam.

void ParseCommandLine(CCommandLineInfo& rCmdInfo);

Parameters

rCmdInfo-
Een verwijzing naar een CCommandLineInfo--object.

Opmerkingen

Wanneer u een nieuw MFC-project start met de wizard Toepassing, maakt de wizard Toepassing een lokaal exemplaar van CCommandLineInfoen roept u vervolgens ProcessShellCommand en ParseCommandLine aan in de Functie InitInstance lid. Een opdrachtregel volgt de route die hieronder wordt beschreven:

  1. Nadat het object is gemaakt in InitInstance, wordt het CCommandLineInfo object doorgegeven aan ParseCommandLine.

  2. ParseCommandLine roept CCommandLineInfo::ParseParam herhaaldelijk aan, één keer voor elke parameter.

  3. ParseParam vult het CCommandLineInfo-object, dat vervolgens wordt doorgegeven aan ProcessShellCommand-.

  4. ProcessShellCommand de opdrachtregelargumenten en vlaggen verwerkt.

Houd er rekening mee dat u ParseCommandLine rechtstreeks kunt aanroepen als dat nodig is.

Zie CCommandLineInfo::m_nShellCommandvoor een beschrijving van de opdrachtregelvlagmen.

CWinApp::P reTranslateMessage

Overschrijf deze functie om vensterberichten te filteren voordat ze worden verzonden naar de Windows-functies TranslateMessage en DispatchMessage De standaard-implementatie voert de functie accelerator-sleutelvertaling uit. Daarom moet u de functie CWinApp::PreTranslateMessage lid aanroepen in uw overschreven versie.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parameters


Een aanwijzer naar een MSG structuur die het te verwerken bericht bevat.

Retourwaarde

Niet-nul als het bericht volledig is verwerkt in PreTranslateMessage en niet verder mag worden verwerkt. Nul als het bericht op de normale manier moet worden verwerkt.

CWinApp::P rocessMessageFilter

Met de hook-functie van het framework wordt deze lidfunctie aangeroepen om bepaalde Windows-berichten te filteren en erop te reageren.

virtual BOOL ProcessMessageFilter(
    int code,
    LPMSG lpMsg);

Parameters

code
Hiermee geeft u een hook-code op. Deze lidfunctie gebruikt de code om te bepalen hoe lpMsg moet worden verwerkt.

lpMsg-
Een aanwijzer naar een Windows MSGtructure.

Retourwaarde

Niet-nul als het bericht wordt verwerkt; anders 0.

Opmerkingen

Een hook-functie verwerkt gebeurtenissen voordat ze worden verzonden naar de normale berichtverwerking van de toepassing.

Als u deze geavanceerde functie overschrijft, moet u de basisklasseversie aanroepen om de hookverwerking van het framework te behouden.

CWinApp::P rocessShellCommand

Deze lidfunctie wordt aangeroepen door InitInstance- om de parameters te accepteren die zijn doorgegeven vanuit het CCommandLineInfo-object dat is geïdentificeerd door rCmdInfoen de aangegeven actie uit te voeren.

BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);

Parameters

rCmdInfo-
Een verwijzing naar een CCommandLineInfo--object.

Retourwaarde

Niet-nul als de shell-opdracht is verwerkt. Als 0, retourneer ONWAAR van InitInstance.

Opmerkingen

Wanneer u een nieuw MFC-project start met de wizard Toepassing, maakt de wizard Toepassing een lokaal exemplaar van CCommandLineInfoen roept u vervolgens ProcessShellCommand en ParseCommandLine- aan in de functie InitInstance lid. Een opdrachtregel volgt de route die hieronder wordt beschreven:

  1. Nadat het object is gemaakt in InitInstance, wordt het CCommandLineInfo object doorgegeven aan ParseCommandLine.

  2. ParseCommandLine roept CCommandLineInfo::P arsePara m herhaaldelijk aan, één keer voor elke parameter.

  3. ParseParam het CCommandLineInfo-object vult, dat vervolgens wordt doorgegeven aan ProcessShellCommand.

  4. ProcessShellCommand de opdrachtregelargumenten en vlaggen verwerkt.

De gegevensleden van het CCommandLineInfo-object, geïdentificeerd door CCommandLineInfo::m_nShellCommand, zijn van het volgende geïnventariseerd type, dat is gedefinieerd in de klasse CCommandLineInfo.

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

Zie CCommandLineInfo::m_nShellCommandvoor een korte beschrijving van elk van deze waarden.

CWinApp::P rocessWndProcException

Het framework roept deze lidfunctie aan wanneer de handler geen uitzondering ondervangt die is opgetreden in een van de bericht- of opdrachthandlers van uw toepassing.

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

Parameters

e-
Een aanwijzer naar een ondeugende uitzondering.


Een MSGtructure die informatie bevat over het windows-bericht waardoor het framework een uitzondering genereert.

Retourwaarde

De waarde die moet worden geretourneerd naar Windows. Normaal gesproken is dit 0L voor Windows-berichten, 1L (TRUE) voor opdrachtberichten.

Opmerkingen

Roep deze lidfunctie niet rechtstreeks aan.

Met de standaard implementatie van deze lidfunctie wordt een berichtvak gemaakt. Als de niet-onderschepte uitzondering afkomstig is van een menu-, werkbalk- of acceleratoropdrachtfout, wordt in het berichtvak het bericht 'Opdracht mislukt' weergegeven; anders wordt het bericht 'Interne toepassingsfout' weergegeven.

Overschrijf deze lidfunctie om algemene verwerking van uw uitzonderingen te bieden. Roep de basisfunctionaliteit alleen aan als u wilt dat het berichtvak wordt weergegeven.

CWinApp::Registreren

Voert registratietaken uit die niet worden verwerkt door RegisterShellFileTypes.

virtual BOOL Register();

Retourwaarde

Nonzero op succes; anders 0.

Opmerkingen

De standaard implementatie retourneert GEWOON TRUE. Overschrijf deze functie om aangepaste registratiestappen op te geven.

CWinApp::RegisterShellFileTypes

Roep deze lidfunctie aan om alle documenttypen van uw toepassing te registreren bij Windows File Manager.

void RegisterShellFileTypes(BOOL bCompat = FALSE);

Parameters

bCompat-
[in] TRUE voegt registratievermeldingen toe voor shellopdrachten Afdrukken en Afdrukken naar, zodat een gebruiker bestanden rechtstreeks vanuit de shell kan afdrukken of door het bestand naar een printerobject te slepen. Er wordt ook een DefaultIcon-sleutel toegevoegd. Deze parameter is standaard FALSE voor compatibiliteit met eerdere versies.

Opmerkingen

Hierdoor kan de gebruiker een gegevensbestand openen dat door uw toepassing is gemaakt door erop te dubbelklikken vanuit Bestandsbeheer. Roep RegisterShellFileTypes aan nadat u AddDocTemplate- hebt aangeroepen voor elk van de documentsjablonen in uw toepassing. Roep ook de functie EnableShellOpen lid aan wanneer u RegisterShellFileTypesaanroept.

RegisterShellFileTypes doorloopt de lijst met CDocTemplate objecten die door de toepassing worden onderhouden en voegt voor elke documentsjabloon vermeldingen toe aan de registratiedatabase die Door Windows wordt onderhouden voor bestandskoppelingen. Bestandsbeheer gebruikt deze vermeldingen om een gegevensbestand te openen wanneer de gebruiker erop dubbelklikt. Dit elimineert de noodzaak om een . REG-bestand met uw toepassing.

Notitie

RegisterShellFileTypes werkt alleen als de gebruiker het programma uitvoert met beheerdersrechten. Als het programma geen beheerdersrechten heeft, kan het registersleutels niet wijzigen.

Als de registratiedatabase al een bepaalde bestandsnaamextensie aan een ander bestandstype koppelt, wordt er geen nieuwe koppeling gemaakt. Zie de CDocTemplate-klasse voor de indeling van tekenreeksen die nodig zijn om deze informatie te registreren.

CWinApp::RegisterWithRestartManager

Registreert de toepassing bij de manager voor opnieuw opstarten.

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

Parameters

bRegisterRecoveryCallback-
[in] TRUE geeft aan dat dit exemplaar van de toepassing gebruikmaakt van een callback-functie voor herstel; FALSE geeft aan dat dit niet het geval is. Het framework roept de callback-functie voor herstel aan wanneer de toepassing onverwacht wordt afgesloten. Zie CWinApp::ApplicationRecoveryCallbackvoor meer informatie.

strRestartIdentifier-
[in] De unieke tekenreeks die dit exemplaar van de manager voor opnieuw opstarten identificeert. De id van de manager voor opnieuw opstarten is uniek voor elk exemplaar van een toepassing.

pwzCommandLineArgs
[in] Een tekenreeks die extra argumenten van de opdrachtregel bevat.

dwRestartFlags-
[in] Optionele vlaggen voor de manager voor opnieuw opstarten. Zie de sectie Opmerkingen voor meer informatie.

pRecoveryCallback-
[in] De callback-functie voor herstel. Deze functie moet een LPVOID-parameter als invoer gebruiken en een DWORD retourneren. De standaard callback-functie voor herstel is CWinApp::ApplicationRecoveryCallback.

lpvParam-
[in] De invoerparameter voor de callback-functie voor herstel. Zie CWinApp::ApplicationRecoveryCallbackvoor meer informatie.

dwPingInterval-
[in] De tijdsduur die de manager voor opnieuw opstarten wacht totdat de functie voor herstelaanroep wordt geretourneerd. Deze parameter bevindt zich in milliseconden.

dwCallbackFlags-
[in] Vlaggen die worden doorgegeven aan de terugbelfunctie voor herstel. Gereserveerd voor toekomstig gebruik.

Retourwaarde

S_OK als de methode is geslaagd; anders een foutcode.

Opmerkingen

Als uw toepassing gebruikmaakt van de standaard MFC-implementatie voor het automatisch opslaan van bestanden, moet u de eenvoudige versie van RegisterWithRestartManagergebruiken. Gebruik de complexe versie van RegisterWithRestartManager als u het gedrag van automatisch opslaan van uw toepassing wilt aanpassen.

Als u deze methode aanroept met een lege tekenreeks voor strRestartIdentifier-, maakt RegisterWithRestartManager een unieke id-tekenreeks voor dit exemplaar van de herstartmanager.

Wanneer een toepassing onverwacht wordt afgesloten, wordt de toepassing opnieuw gestart vanaf de opdrachtregel en wordt de unieke herstart-id als een optioneel argument opgegeven. In dit scenario roept het framework RegisterWithRestartManager twee keer aan. De eerste aanroep is afkomstig van CWinApp::InitInstance met een lege tekenreeks voor de tekenreeks-id. Vervolgens roept de methode CWinApp::P rocessShellCommandRegisterWithRestartManager aan met de unieke herstart-id.

Nadat u een toepassing hebt geregistreerd bij de manager voor opnieuw opstarten, controleert de herstartmanager de toepassing. Als de toepassing onverwacht wordt afgesloten, roept de manager voor het opnieuw opstarten de functie voor herstelaanroep aan tijdens het afsluiten. De manager voor opnieuw opstarten wacht op de dwPingInterval- voor een reactie van de callback-functie voor herstel. Als de callback-functie voor herstel binnen deze tijd niet reageert, wordt de toepassing afgesloten zonder de terugroepfunctie voor herstel uit te voeren.

DwRestartFlags worden standaard niet ondersteund, maar worden geleverd voor toekomstig gebruik. De mogelijke waarden voor dwRestartFlags zijn als volgt:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::ReopenPreviousFilesAtRestart

Bepaalt of de manager voor opnieuw opstarten de geopende bestanden opnieuw opent wanneer de toepassing onverwacht werd afgesloten.

virtual BOOL ReopenPreviousFilesAtRestart() const;

Retourwaarde

TRUE geeft aan dat de manager voor opnieuw opstarten de eerder geopende bestanden opnieuw opent; FALSE geeft aan dat de manager voor opnieuw opstarten niet werkt.

CWinApp::RestartInstance

Hiermee wordt het opnieuw opstarten van een toepassing verwerkt, geïnitieerd door de manager voor opnieuw opstarten.

virtual BOOL CWinApp::RestartInstance();

Retourwaarde

WAAR als de handler voor gegevensherstel eerder geopende documenten opent; ONWAAR als de handler voor gegevensherstel een fout heeft of als er geen eerder geopende documenten zijn.

Opmerkingen

Wanneer de manager voor opnieuw opstarten een toepassing opnieuw start, roept het framework deze methode aan. Met deze methode wordt de handler voor gegevensherstel opgehaald en worden de automatisch opgeslagen bestanden hersteld. Met deze methode wordt CDataRecoveryHandler::RestoreAutosavedDocuments aangeroepen om te bepalen of de gebruiker de automatisch opgeslagen bestanden wil herstellen.

Deze methode retourneert FALSE als de CDataRecoveryHandler bepaalt dat er geen geopende documenten zijn. Als er geen geopende documenten waren, wordt de toepassing gewoonlijk gestart.

CWinApp::RestoreAutosavedFilesAtRestart

Bepaalt of de manager voor opnieuw opstarten de automatisch opgeslagen bestanden herstelt wanneer de toepassing opnieuw wordt opgestart.

virtual BOOL RestoreAutosavedFilesAtRestart() const;

Retourwaarde

TRUE geeft aan dat de manager voor opnieuw opstarten automatisch opgeslagen bestanden herstelt; FALSE geeft aan dat de manager voor opnieuw opstarten niet werkt.

CWinApp::Uitvoeren

Biedt een standaardberichtlus.

virtual int Run();

Retourwaarde

Een int waarde die wordt geretourneerd door WinMain.

Opmerkingen

Run Windows-berichten verkrijgt en verzendt totdat de toepassing een WM_QUIT bericht ontvangt. Als de berichtenwachtrij van de toepassing momenteel geen berichten bevat, Run roept OnIdle- aan om inactiviteit te verwerken. Inkomende berichten gaan naar de functie PreTranslateMessage lid voor speciale verwerking en vervolgens naar de Windows-functie TranslateMessage voor standaardtoetsenbordvertaling; ten slotte wordt de DispatchMessage Windows-functie aangeroepen.

Run wordt zelden overschreven, maar u kunt deze overschrijven om speciaal gedrag te bieden.

CWinApp::RunAutomated

Roep deze functie aan om te bepalen of de optie '/Automation' of '-Automation' aanwezig is, wat aangeeft of de servertoepassing is gestart door een clienttoepassing.

BOOL RunAutomated();

Retourwaarde

Niet-nul als de optie is gevonden; anders 0.

Opmerkingen

Indien aanwezig, wordt de optie verwijderd van de opdrachtregel. Zie het artikel Automation-serversvoor meer informatie over OLE Automation.

CWinApp::RunEmbedded

Roep deze functie aan om te bepalen of de optie '/Embedding' of '-Embedding' aanwezig is, wat aangeeft of de servertoepassing is gestart door een clienttoepassing.

BOOL RunEmbedded();

Retourwaarde

Niet-nul als de optie is gevonden; anders 0.

Opmerkingen

Indien aanwezig, wordt de optie verwijderd van de opdrachtregel. Zie het artikel Servers: Een server implementerenvoor meer informatie over het insluiten van inhoud.

CWinApp::SaveAllModified

Wordt aangeroepen door het framework om alle documenten op te slaan wanneer het hoofdframevenster van de toepassing moet worden gesloten of via een WM_QUERYENDSESSION bericht.

virtual BOOL SaveAllModified();

Retourwaarde

Nonzero indien veilig om de toepassing te beëindigen; 0 indien niet veilig om de toepassing te beëindigen.

Opmerkingen

De standaardimplementatie van deze lidfunctie roept de CDocument::SaveModified lidfunctie op zijn beurt aan voor alle gewijzigde documenten in de toepassing.

CWinApp::SelectPrinter

Roep deze lidfunctie aan om een specifieke printer te selecteren en laat de printer los die eerder is geselecteerd in het dialoogvenster Afdrukken.

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

Parameters

hDevNames-
Een ingang naar een DEVNAMEStructure waarmee de namen van stuurprogramma's, apparaten en uitvoerpoorten van een specifieke printer worden geïdentificeerd.

hDevMode-
Een ingang naar een DEVMODE structuur die informatie opgeeft over de initialisatie van het apparaat en de omgeving van een printer.

bFreeOld-
Hiermee wordt de eerder geselecteerde printer vrijgemaakt.

Opmerkingen

Als zowel hDevMode als hDevNames NULL zijn, gebruikt SelectPrinter de huidige standaardprinter.

CWinApp::SetHelpMode

Hiermee stelt u het helptype van de toepassing in.

void SetHelpMode(AFX_HELP_TYPE eHelpType);

Parameters

eHelpType-
Hiermee geeft u het type help te gebruiken. Zie CWinApp::m_eHelpType voor meer informatie.

Opmerkingen

Hiermee stelt u het Help-type van de toepassing in.

Als u het Help-type van uw toepassing wilt instellen op HTMLHelp, kunt u EnableHTMLHelpaanroepen. Zodra u EnableHTMLHelpaanroept, moet uw toepassing HTMLHelp gebruiken als helptoepassing. Als u Wilt wijzigen om WinHelp te gebruiken, kunt u SetHelpMode aanroepen en eHelpType- instellen op afxWinHelp.

CWinApp::SetRegistryKey

Zorgt ervoor dat toepassingsinstellingen worden opgeslagen in het register in plaats van INI-bestanden.

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

Parameters

lpszRegistryKey
Wijs een tekenreeks aan die de naam van de sleutel bevat.

nIDRegistryKey
Id van een tekenreeksresource met de naam van de registersleutel.

Opmerkingen

Met deze functie wordt m_pszRegistryKeyingesteld, die vervolgens wordt gebruikt door de GetProfileInt, GetProfileString, WriteProfileInten WriteProfileString lidfuncties van CWinApp. Als deze functie is aangeroepen, wordt de lijst met laatst gebruikte (MRU)-bestanden ook opgeslagen in het register. De registersleutel is meestal de naam van een bedrijf. Het wordt opgeslagen in een sleutel van het volgende formulier: HKEY_CURRENT_USER\Software\<bedrijfsnaam>\<toepassingsnaam>\<sectienaam>\<waardenaam>.

CWinApp::SupportsApplicationRecovery

Bepaalt of de manager voor opnieuw opstarten een toepassing herstelt die onverwacht is afgesloten.

virtual BOOL SupportsApplicationRecovery() const;

Retourwaarde

TRUE geeft aan dat de manager voor opnieuw opstarten de toepassing herstelt; FALSE geeft aan dat de manager voor opnieuw opstarten niet werkt.

CWinApp::SupportsAutosaveAtInterval

Bepaalt of de manager voor opnieuw opstarten automatisch documenten opent met een regelmatig interval.

virtual BOOL SupportsAutosaveAtInterval() const;

Retourwaarde

TRUE geeft aan dat het opnieuw opstarten van de manager automatisch geopende documenten opslaat; FALSE geeft aan dat de manager voor opnieuw opstarten niet werkt.

CWinApp::SupportsAutosaveAtRestart

Bepaalt of de manager voor opnieuw opstarten automatisch geopende documenten opslaat wanneer de toepassing opnieuw wordt opgestart.

virtual BOOL SupportsAutosaveAtRestart() const;

Retourwaarde

TRUE geeft aan dat de manager voor opnieuw opstarten automatisch geopende documenten opent wanneer de toepassing opnieuw wordt opgestart; FALSE geeft aan dat de manager voor opnieuw opstarten niet werkt.

CWinApp::SupportsRestartManager

Bepaalt of de toepassing ondersteuning biedt voor de manager voor opnieuw opstarten.

virtual BOOL SupportsRestartManager() const;

Retourwaarde

TRUE geeft aan dat de toepassing ondersteuning biedt voor de manager voor opnieuw opstarten; FALSE geeft aan dat de toepassing dat niet doet.

CWinApp::Registratie ongedaan maken

De registratie van alle bestanden die zijn geregistreerd door het toepassingsobject ongedaan maken.

virtual BOOL Unregister();

Retourwaarde

Nonzero op succes; anders 0.

Opmerkingen

Met de functie Unregister wordt de registratie ongedaan gemaakt die wordt uitgevoerd door het toepassingsobject en de functie Register. Normaal gesproken worden beide functies impliciet aangeroepen door MFC en worden daarom niet weergegeven in uw code.

Overschrijf deze functie om aangepaste stappen voor het ongedaan maken van registratie uit te voeren.

CWinApp::UnregisterShellFileTypes

Roep deze lidfunctie aan om de registratie van alle documenttypen van uw toepassing met Windows File Manager ongedaan te maken.

void UnregisterShellFileTypes();

CWinApp::WinHelp

Roep deze lidfunctie aan om de WinHelp-toepassing aan te roepen.

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

Parameters

dwData-
Hiermee geeft u aanvullende gegevens op. De gebruikte waarde is afhankelijk van de waarde van de parameter nCmd.

nCmd-
Hiermee geeft u het type hulp aangevraagd. Zie de functie WinHelp Windows voor een lijst met mogelijke waarden en hoe deze van invloed zijn op de parameter dwData.

Opmerkingen

Het framework roept deze functie ook aan om de WinHelp-toepassing aan te roepen.

Het framework sluit de WinHelp-toepassing automatisch wanneer uw toepassing wordt beëindigd.

Voorbeeld

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

Roep deze lidfunctie aan om binaire gegevens te schrijven naar de opgegeven sectie van het register van de toepassing of . INI-bestand.

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

Parameters

lpszSection-
Verwijst naar een door null beëindigde tekenreeks die de sectie met de vermelding aangeeft. Als de sectie niet bestaat, wordt deze gemaakt. De naam van de sectie is onafhankelijk van het geval; de tekenreeks kan elke combinatie van hoofdletters en kleine letters zijn.

lpszEntry-
Verwijst naar een door null beëindigde tekenreeks die de vermelding bevat waarin de waarde moet worden geschreven. Als de vermelding niet bestaat in de opgegeven sectie, wordt deze gemaakt.

pData-
Verwijst naar de gegevens die moeten worden geschreven.

nBytes
Bevat het aantal bytes dat moet worden geschreven.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Voorbeeld

In dit voorbeeld wordt CWinApp* pApp = AfxGetApp(); gebruikt om de CWinApp-klasse te gebruiken die een manier illustreert waarop WriteProfileBinary en GetProfileBinary kunnen worden gebruikt vanuit elke functie in een MFC-toepassing.

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

Zie het voorbeeld voor CWinApp::GetProfileBinaryvoor een ander voorbeeld.

CWinApp::WriteProfileInt

Roep deze lidfunctie aan om de opgegeven waarde naar de opgegeven sectie van het register van de toepassing of te schrijven. INI-bestand.

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

Parameters

lpszSection-
Verwijst naar een door null beëindigde tekenreeks die de sectie met de vermelding aangeeft. Als de sectie niet bestaat, wordt deze gemaakt. De naam van de sectie is onafhankelijk van het geval; de tekenreeks kan elke combinatie van hoofdletters en kleine letters zijn.

lpszEntry-
Verwijst naar een door null beëindigde tekenreeks die de vermelding bevat waarin de waarde moet worden geschreven. Als de vermelding niet bestaat in de opgegeven sectie, wordt deze gemaakt.

nValue
Bevat de waarde die moet worden geschreven.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Voorbeeld

In dit voorbeeld wordt CWinApp* pApp = AfxGetApp(); gebruikt om de CWinApp-klasse te gebruiken die een manier illustreert waarop WriteProfileString, WriteProfileInt, GetProfileStringen GetProfileInt kunnen worden gebruikt vanuit elke functie in een MFC-toepassing.

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

Zie het voorbeeld voor CWinApp::GetProfileIntvoor een ander voorbeeld.

CWinApp::WriteProfileString

Roep deze lidfunctie aan om de opgegeven tekenreeks te schrijven naar de opgegeven sectie van het register van de toepassing of . INI-bestand.

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

Parameters

lpszSection-
Verwijst naar een door null beëindigde tekenreeks die de sectie met de vermelding aangeeft. Als de sectie niet bestaat, wordt deze gemaakt. De naam van de sectie is onafhankelijk van het geval; de tekenreeks kan elke combinatie van hoofdletters en kleine letters zijn.

lpszEntry-
Verwijst naar een door null beëindigde tekenreeks die de vermelding bevat waarin de waarde moet worden geschreven. Als de vermelding niet bestaat in de opgegeven sectie, wordt deze gemaakt. Als deze parameter NULL is, wordt de sectie die is opgegeven door lpszSection verwijderd.

lpszValue-
Verwijst naar de tekenreeks die moet worden geschreven. Als deze parameter NULL is, wordt de vermelding die is opgegeven door de parameter lpszEntry verwijderd.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Voorbeeld

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

Zie het voorbeeld voor CWinApp::GetProfileIntvoor een ander voorbeeld.

CWinApp::SetAppID

Hiermee stelt u de model-id van de toepassing expliciet in voor de toepassing. Deze methode moet worden aangeroepen voordat een gebruikersinterface aan de gebruiker wordt gepresenteerd (de beste plaats is de toepassingsconstructor).

void SetAppID(LPCTSTR lpcszAppID);

Parameters

lpcszAppID-
Hiermee geeft u de model-id van de toepassingsgebruiker op.

Opmerkingen

Zie ook

CWinThread-klasse
Hiërarchiegrafiek
Procedure: Ondersteuning voor Restart Manager toevoegen