Dela via


CWinAppEx klass

CWinAppEx hanterar programtillståndet, sparar tillståndet i registret, läser in tillståndet från registret, initierar programhanterare och tillhandahåller länkar till samma programhanterare.

Mer information finns i källkoden som finns i mappen mfc i Visual Studio-installationen. Till exempel %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

Syntax

class CWinAppEx : public CWinApp

Medlemmar

Offentliga konstruktorer

Namn Beskrivning
CWinAppEx::CWinAppEx Konstruerar ett CWinAppEx objekt.

Offentliga metoder

Namn Beskrivning
CWinAppEx::CleanState Tar bort information om programmet från Windows-registret.
CWinAppEx::EnableLoadWindowPlacement Anger om programmet ska läsa in den ursprungliga storleken och platsen för huvudramsfönstret från registret.
CWinAppEx::EnableTearOffMenus Aktiverar avrivningsmenyer för programmet.
CWinAppEx::EnableUserTools Gör att användaren kan skapa anpassade menykommandon i programmet.
CWinAppEx::ExitInstance Anropas av ramverket inifrån funktionen Run medlem för att avsluta den här instansen av programmet. (Åsidosätter CWinApp::ExitInstance.)
CWinAppEx::GetBinary Läser binära data som är associerade med det angivna registervärdet.
CWinAppEx::GetContextMenuManager Returnerar en pekare till det globala CContextMenuManager-objektet.
CWinAppEx::GetDataVersion
CWinAppEx::GetDataVersionMajor Returnerar huvudversionen av programmet som sparats i Windows-registret.
CWinAppEx::GetDataVersionMinor Returnerar den delversion av programmet som sparats i Windows-registret.
CWinAppEx::GetInt Läser numeriska data som är associerade med det angivna värdet från registret.
CWinAppEx::GetKeyboardManager Returnerar en pekare till det globala CKeyboardManager-objektet.
CWinAppEx::GetMouseManager Returnerar en pekare till det globala CMouseManager-objektet.
CWinAppEx::GetObject Läser CObject-härledda data som är associerade med det angivna värdet från registret.
CWinAppEx::GetRegSectionPath Returnerar en sträng som är sökvägen till en registernyckel. Den här sökvägen sammanfogar den angivna relativa sökvägen med programsökvägen.
CWinAppEx::GetRegistryBase Returnerar registersökvägen för programmet.
CWinAppEx::GetSectionBinary Läser binära data som är associerade med den angivna nyckeln och värdet från registret.
CWinAppEx::GetSectionInt Läser numeriska data från registret som är associerat med den angivna nyckeln och värdet.
CWinAppEx::GetSectionObject Läser CObject data som är associerade med den angivna nyckeln och värdet från registret.
CWinAppEx::GetSectionString Läser strängdata som är associerade med den angivna nyckeln och värdet från registret.
CWinAppEx::GetShellManager Returnerar en pekare till det globala CShellManager-objektet.
CWinAppEx::GetString Läser strängdata som är associerade med det angivna värdet från registret.
CWinAppEx::GetTooltipManager Returnerar en pekare till det globala CTooltipManager-objektet.
CWinAppEx::GetUserToolsManager Returnerar en pekare till det globala CUserToolsManager-objektet.
CWinAppEx::InitContextMenuManager Initierar CContextMenuManager-objektet.
CWinAppEx::InitKeyboardManager Initierar CKeyboardManager-objektet.
CWinAppEx::InitMouseManager Initierar CMouseManager-objektet.
CWinAppEx::InitShellManager Initierar klassen CShellManager
CWinAppEx::InitTooltipManager Initierar klassen CTooltipManager.
CWinAppEx::IsResourceSmartUpdate
CWinAppEx::IsStateExists Anger om den angivna nyckeln finns i registret.
CWinAppEx::LoadState Läser in programtillståndet från registret.
CWinAppEx::OnAppContextHelp Anropas av ramverket när användaren begär kontexthjälp för dialogrutan Anpassning.
CWinAppEx::OnViewDoubleClick Anropar det användardefinierade kommandot när användaren dubbelklickar var som helst i programmet.
CWinAppEx::OnWorkspaceIdle
CWinAppEx::SaveState Skriver tillståndet för programramverket till Windows-registret.
CWinAppEx::SetRegistryBase Anger sökvägen till standardregisternyckeln. Den här nyckeln fungerar som en rot för alla efterföljande registeranrop.
CWinAppEx::ShowPopupMenu Visar en popup-meny.
CWinAppEx::WriteBinary Skriver binära data till det angivna registervärdet.
CWinAppEx::WriteInt Skriver numeriska data till det angivna registervärdet.
CWinAppEx::WriteObject Skriver data som härleds från CObject Class till det angivna registervärdet.
CWinAppEx::WriteSectionBinary Skriver binära data till ett värde för den angivna registernyckeln.
CWinAppEx::WriteSectionInt Skriver numeriska data till ett värde för den angivna registernyckeln.
CWinAppEx::WriteSectionObject Skriver data som härleds från klassen CObject till ett värde för den angivna registernyckeln.
CWinAppEx::WriteSectionString Skriver strängdata till ett värde för den angivna registernyckeln.
CWinAppEx::WriteString Skriver strängdata till det angivna registervärdet.

Skyddade metoder

Namn Beskrivning
CWinAppEx::LoadCustomState Anropas av ramverket när programtillståndet har lästs in.
CWinAppEx::LoadWindowPlacement Anropas av ramverket när det läser in programmets storlek och plats från registret. De inlästa data innehåller storleken och platsen för huvudramen när programmet senast stängdes.
CWinAppEx::OnClosingMainFrame Anropas av ramverket när ett huvudramfönster bearbetar WM_CLOSE.
CWinAppEx::PreLoadState Anropas av ramverket omedelbart innan programtillståndet läses in.
CWinAppEx::PreSaveState Anropas av ramverket omedelbart innan programtillståndet sparas.
CWinAppEx::ReloadWindowPlacement Läser in storlek och plats för det angivna fönstret igen från registret
CWinAppEx::SaveCustomState Anropas av ramverket när det har skrivit programtillståndet till registret.
CWinAppEx::StoreWindowPlacement Anropas av ramverket för att skriva storleken och platsen för huvudramen till registret.

Datamedlemmar

Namn Beskrivning
CWinAppEx::m_bForceImageReset Anger om ramverket ska återställa alla verktygsfältsbilder när ramfönstret som innehåller verktygsfältet läses in.

Anmärkningar

En stor del av funktionerna i MFC-ramverket beror på CWinAppEx-klassen. Du kan införliva CWinAppEx-klassen i ditt program på något av två sätt:

  • Skapa en CWinAppEx-klass i huvudtråden.

  • Härled huvudprogramklassen från CWinAppEx.

När du har införlivat CWinAppEx i ditt program kan du initiera någon av programhanterare. Innan du använder en programhanterare måste du initiera den genom att anropa lämplig initieringsmetod. Om du vill hämta en pekare till en specifik chef anropar du den associerade get-metoden. Klassen CWinAppEx hanterar följande programhanterare: CMouseManager Class, CContextMenuManager Class, CKeyboardManager Class, CUserToolsManager Classoch CMenuTearOffManager Class.

Arvshierarki

CObject

CCmdTarget

CWinThread

CWinApp

CWinAppEx

Krav

rubrik:afxwinappex.h

CWinAppEx::CleanState

Tar bort all information om programmet från Windows-registret.

virtual BOOL CleanState(LPCTSTR lpszSectionName=NULL);

Parametrar

lpszSectionName
[i] En sträng som innehåller en sökväg för en registernyckel.

Returvärde

Nonzero om metoden lyckades; annars 0.

Anmärkningar

Den här metoden rensar programdata från ett specifikt avsnitt i registret. Du kan ange det avsnitt som ska rensas med hjälp av parametern lpszSectionName. Om lpszSectionName är NULLanvänder den här metoden standardregistersökvägen som lagras i CWinAppEx-objektet. Om du vill hämta standardsökvägen för registret använder du CWinAppEx::GetRegistryBase.

CWinAppEx::CWinAppEx

Konstruerar ett CWinAppEx objekt.

CWinAppEx(BOOL bResourceSmartUpdate = FALSE);

Parametrar

bResourceSmartUpdate
[i] En boolesk parameter som anger om arbetsyteobjektet ska identifiera och hantera resursuppdateringar.

Anmärkningar

Klassen CWinAppEx har initieringsmetoder, innehåller funktioner för att spara och läsa in programinformation i registret och kontrollerar globala programinställningar. Du kan också använda globala chefer som CKeyboardManager Class och CUserToolsManager Class. Varje program kan bara ha en instans av klassen CWinAppEx.

CWinAppEx::EnableLoadWindowPlacement

Anger om programmet ska läsa in den ursprungliga storleken och platsen för huvudramsfönstret från registret.

void EnableLoadWindowPlacement(BOOL bEnable = TRUE);

Parametrar

bEnable
[i] Anger om programmet läser in den ursprungliga storleken och platsen för huvudramsfönstret från registret.

Anmärkningar

Som standard läses huvudramens storlek och plats in från registret tillsammans med andra programinställningar. Detta inträffar under CWinAppEx::LoadState. Om du inte vill läsa in den inledande fönsterplaceringen från registret anropar du den här metoden med bEnable inställd på FALSE.

CWinAppEx::EnableTearOffMenus

Skapar och initierar ett CMenuTearOffManager objekt.

BOOL EnableTearOffMenus(
    LPCTSTR lpszRegEntry,
    const UINT uiCmdFirst,
    const UINT uiCmdLast);

Parametrar

lpszRegEntry
[i] En sträng som innehåller sökvägen till en registernyckel. Programmet använder den här registernyckeln för att lagra information för avrivningsmenyerna.

uiCmdFirst
[i] Det första avstänga meny-ID:t.

uiCmdLast
[i] Det sista avstänga meny-ID:t.

Returvärde

TRUE om CMenuTearOffManager har skapats och initierats. FALSE om ett fel inträffar eller om CMenuTearOffManager redan finns.

Anmärkningar

Använd den här funktionen för att aktivera avrivningsmenyer i programmet. Du bör anropa den här funktionen från InitInstance.

CWinAppEx::EnableUserTools

Gör att användaren kan skapa anpassade menykommandon som minskar tangenttryckningar i ditt program. Den här metoden skapar ett CUserToolsManager objekt.

BOOL EnableUserTools(
    const UINT uiCmdToolsDummy,
    const UINT uiCmdFirst,
    const UINT uiCmdLast,
    CRuntimeClass* pToolRTC = RUNTIME_CLASS(CUserTool),
    UINT uArgMenuID = 0,
    UINT uInitDirMenuID = 0);

Parametrar

uiCmdToolsDummy
[i] Ett osignerat heltal som ramverket använder som platshållare för kommando-ID:t på användarverktygsmenyn.

uiCmdFirst
[i] Kommando-ID för det första användarverktygskommandot.

uiCmdLast
[i] Kommando-ID:t för det senaste användarverktygskommandot.

pToolRTC
[i] En klass som CUserToolsManager-objektet använder för att skapa nya användarverktyg.

uArgMenuID
[i] Argumentmenyns ID.

uInitDirMenuID
[i] Meny-ID:t för den första verktygskatalogen.

Returvärde

TRUE om metoden skapar och initierar ett CUserToolsManager objekt. FALSE om metoden misslyckas eller om det redan finns ett CUserToolsManager objekt.

Anmärkningar

När du aktiverar användardefinierade verktyg stöder ramverket automatiskt en dynamisk meny som kan utökas under anpassningen. Ramverket associerar varje nytt objekt med ett externt kommando. Ramverket anropar dessa kommandon när användaren väljer lämpligt objekt från menyn Verktyg.

Varje gång användaren lägger till ett nytt objekt skapar ramverket ett nytt objekt. Klasstypen för det nya objektet definieras av pToolRTC. Klasstypen pToolRTC måste härledas från CUserTool Class.

Mer information om användarverktyg och hur du införlivar dem i ditt program finns i användardefinierade verktyg.

CWinAppEx::ExitInstance

virtual int ExitInstance();

Returvärde

Anmärkningar

CWinAppEx::GetBinary

Läser binära data från en angiven registernyckel.

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

Parametrar

lpszEntry
[i] En sträng som innehåller namnet på en registernyckel.

ppData
[ut] En pekare till bufferten som metoden fyller med binära data.

pBytes
[ut] En pekare till ett osignerat heltal som metoden använder för att skriva antalet lästa byte.

Returvärde

TRUE om det lyckas. FALSE annars.

Anmärkningar

Den här metoden läser binära data som skrivits till registret. Om du vill skriva data till registret använder du metoderna CWinAppEx::WriteBinary och CWinAppEx::WriteSectionBinary.

Parametern lpszEntry är namnet på en registerpost som finns under standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::GetContextMenuManager

Returnerar en pekare till det globala CContextMenuManager-objektet.

CContextMenuManager* GetContextMenuManager();

Returvärde

En pekare till det globala CContextMenuManager-objektet.

Anmärkningar

Om det CContextMenuManager objektet inte initieras anropar den här funktionen CWinAppEx::InitContextMenuManager innan det returnerar en pekare.

CWinAppEx::GetDataVersion

int GetDataVersion() const;

Returvärde

Anmärkningar

CWinAppEx::GetDataVersionMajor

Returnerar huvudversionen av programmet som sparas i Windows-registret när du anropar CWinAppEx::SaveState.

int GetDataVersionMajor() const;

Returvärde

Ett heltalsvärde som innehåller huvudversionsnumret.

CWinAppEx::GetDataVersionMinor

Returnerar delversionen av programmet som sparas i Windows-registret när du anropar CWinAppEx::SaveState.

int GetDataVersionMinor() const;

Returvärde

Ett heltalsvärde som innehåller delversionsnumret.

CWinAppEx::GetInt

Läser heltalsdata från en angiven registernyckel.

int GetInt(
    LPCTSTR lpszEntry,
    int nDefault = 0);

Parametrar

lpszEntry
[i] En sträng som innehåller namnet på en registerpost.

nDefault
[i] Standardvärdet som metoden returnerar om den angivna registerposten inte finns.

Returvärde

Registerdata om metoden lyckades. annars nDefault.

Anmärkningar

Den här metoden läser heltalsdata från registret. Om det inte finns några heltalsdata som är associerade med registernyckeln som anges av lpszEntryreturnerar den här metoden nDefault. Om du vill skriva data till registret använder du metoderna CWinAppEx::WriteSectionInt och CWinAppEx::WriteInt.

Parametern lpszEntry är namnet på en registerpost som finns under standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::GetKeyboardManager

Returnerar en pekare till det globala CKeyboardManager-objektet.

CKeyboardManager* GetKeyboardManager();

Returvärde

En pekare till det globala CKeyboardManager-objektet.

Anmärkningar

Om tangentbordshanteraren inte initieras anropar den här funktionen CWinAppEx::InitKeyboardManager innan den returnerar en pekare.

CWinAppEx::GetMouseManager

Returnerar en pekare till det globala CMouseManager-objektet.

CMouseManager* GetMouseManager();

Returvärde

En pekare till det globala CMouseManager-objektet.

Anmärkningar

Om mushanteraren inte initieras anropar den här funktionen CWinAppEx::InitMouseManager innan den returnerar en pekare.

CWinAppEx::GetObject

Läser CObject-dervied data från registret.

BOOL GetObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Parametrar

lpszEntry
[i] En sträng som innehåller den relativa sökvägen för en registerpost.

obj
[ut] En referens till en CObject. Metoden använder den här referensen för att lagra registerdata.

Returvärde

Nonzero om metoden lyckades; annars 0.

Anmärkningar

Den här metoden läser data från registret som härleds från CObject. Om du vill skriva CObject data till registret använder du antingen CWinAppEx::WriteObject eller CWinAppEx::WriteSectionObject.

Parametern lpszEntry är namnet på en registerpost som finns under standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::GetRegistryBase

Hämtar standardregistersökvägen för programmet.

LPCTSTR GetRegistryBase();

Returvärde

En sträng som innehåller sökvägen till standardregisterplatsen.

Anmärkningar

Alla metoder i CWinAppEx Class som har åtkomst till registret startar på en standardplats. Använd den här metoden för att hämta en sökväg till standardregisterplatsen. Använd CWinAppEx::SetRegistryBase för att ändra standardregisterplatsen.

CWinAppEx::GetRegSectionPath

Skapar och returnerar den absoluta sökvägen för en registernyckel.

CString GetRegSectionPath(LPCTSTR szSectionAdd = _T(""));

Parametrar

szSectionAdd
[i] En sträng som innehåller den relativa sökvägen för en registernyckel.

Returvärde

En CString som innehåller den absoluta sökvägen för en registernyckel.

Anmärkningar

Den här metoden definierar registernyckelns absoluta sökväg genom att lägga till den relativa sökvägen i szSectionAdd till standardregisterplatsen för ditt program. Om du vill hämta standardregisternyckeln använder du metoden CWinAppEx::GetRegistryBase.

CWinAppEx::GetSectionBinary

Läser binära data från registret.

BOOL GetSectionBinary(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPBYTE* ppData,
    UINT* pBytes);

Parametrar

lpszSubSection
[i] En sträng som innehåller den relativa sökvägen för en registernyckel.

lpszEntry
[i] En sträng som innehåller värdet som ska läsas.

ppData
[ut] En pekare till bufferten där metoden lagrar data.

pBytes
[ut] En pekare till ett osignerat heltal. Metoden skriver storleken på ppData till den här parametern.

Returvärde

TRUE om det lyckas. annars FALSE.

Anmärkningar

Den här metoden läser binära data som skrivs till registret med hjälp av metoderna CWinAppEx::WriteBinary och CWinAppEx::WriteSectionBinary.

Parametern lpszSubSection är inte en absolut sökväg för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::GetSectionInt

Läser heltalsdata från registret.

int GetSectionInt(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    int nDefault = 0);

Parametrar

lpszSubSection
[i] En sträng som innehåller den relativa sökvägen för en registernyckel.

lpszEntry
[i] En sträng som innehåller värdet som ska läsas.

nDefault
[i] Standardvärdet som returneras om det angivna värdet inte finns.

Returvärde

Heltalsdata som lagras i det angivna registervärdet. nDefault om data inte finns.

Anmärkningar

Använd metoderna CWinAppEx::WriteInt och CWinAppEx::WriteSectionInt för att skriva heltalsdata till registret.

Parametern lpszSubSection är inte en absolut sökväg för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::GetSectionObject

Läser CObject registerdata från registret.

BOOL GetSectionObject(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    CObject& obj);

Parametrar

lpszSubSection
[i] En sträng som innehåller den relativa sökvägen för en registernyckel.

lpszEntry
[i] En sträng som innehåller värdet som ska läsas.

obj
[ut] En referens till en CObject. Metoden använder den här CObject för att lagra registerdata.

Returvärde

Nonzero om det lyckas; annars 0.

Anmärkningar

Den här metoden läser data från registret. Dataläsningen är CObject data eller data för en klass som härleds från CObject. Om du vill skriva CObject data till registret använder du antingen CWinAppEx::WriteObject eller CWinAppEx::WriteSectionObject.

Parametern lpszSubSection är inte en absolut sökväg för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::GetSectionString

Läser strängdata från registret.

CString GetSectionString(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszDefault = _T(""));

Parametrar

lpszSubSection
[i] En sträng som innehåller den relativa sökvägen för en registernyckel.

lpszEntry
[i] En sträng som innehåller värdet som ska läsas.

lpszDefault
[i] Standardvärdet som returneras om det angivna värdet inte finns.

Returvärde

Strängdata som lagras i det angivna registervärdet om data finns. annars lpszDefault.

Anmärkningar

Den här metoden läser strängdata som skrivits till registret. Använd CWinAppEx::WriteString och CWinAppEx::WriteSectionString för att skriva strängdata till registret.

Parametern lpszSubSection är inte en absolut sökväg för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::GetShellManager

Returnerar en pekare till det globala CShellManager-objektet.

CShellManager* GetShellManager();

Returvärde

En pekare till det globala CShellManager-objektet.

Anmärkningar

Om det CShellManager objektet inte initieras anropar den här funktionen CWinAppEx::InitShellManager innan det returnerar en pekare.

CWinAppEx::GetString

Läser strängdata från en angiven registernyckel.

CString GetString(
    LPCTSTR lpszEntry,
    LPCTSTR lpzDefault= _T(""));

Parametrar

lpszEntry
[i] En sträng som innehåller namnet på en registernyckel

lpzDefault
[i] Standardvärdet som metoden returnerar om den angivna registerposten inte finns.

Returvärde

Strängdata som lagras i registret om de lyckas. lpszDefault annars.

Anmärkningar

Den här metoden läser strängdata som skrivits till registret. Om du vill skriva data till registret använder du metoderna CWinAppEx::WriteString eller CWinAppEx::WriteSectionString.

Parametern lpszEntry är namnet på en registerpost som finns under standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::GetTooltipManager

Returnerar en pekare till det globala CTooltipManager-objektet.

CTooltipManager* GetTooltipManager();

Returvärde

En pekare till det globala CTooltipManager-objektet.

Anmärkningar

Om det CTooltipManager objektet inte initieras anropar den här funktionen CWinAppEx::InitTooltipManager innan det returnerar en pekare.

CWinAppEx::GetUserToolsManager

Returnerar en pekare till det globala CUserToolsManager-objektet.

CUserToolsManager* GetUserToolsManager();

Returvärde

En pekare till det globala CUserToolsManager objektet. NULL om hantering av användarverktyg inte är aktiverat för programmet.

Anmärkningar

Innan du hämtar en pekare till CUserToolsManager-objektet måste du initiera chefen genom att anropa CWinAppEx::EnableUserTools.

CWinAppEx::InitContextMenuManager

Initierar CContextMenuManager-objektet.

BOOL InitContextMenuManager();

Returvärde

Nonzero om metoden skapar objektet CContextMenuManager; 0 om det CContextMenuManager objektet redan finns.

Anmärkningar

Om du anropar CWinAppEx::GetContextMenuManageranropar standardimplementeringen av metoden InitContextMenuManager.

Om ditt program redan har en snabbmenyhanterare och du anropar InitContextMenuManagerfår programmet ett ASSERT fel. Därför bör du inte anropa InitContextMenuManager om du skapar ett CContextMenuManager objekt direkt. Om du inte använder en anpassad CContextMenuManagerbör du använda GetContextMenuManager för att skapa ett CContextMenuManager objekt.

CWinAppEx::InitKeyboardManager

Initierar CKeyboardManager-objektet.

BOOL InitKeyboardManager();

Returvärde

Nonzero om metoden skapar objektet CKeyboardManager; 0 om det CKeyboardManager objektet redan finns.

Anmärkningar

Om du anropar CWinAppEx::GetKeyboardManageranropar standardimplementeringen av metoden InitKeyboardManager.

Om programmet redan har en tangentbordshanterare och du anropar InitKeyboardManagerfår programmet ett ASSERT fel. Därför bör du inte anropa InitKeyboardManager om du skapar ett CKeyboardManager objekt direkt. Om du inte använder en anpassad CKeyboardManagerbör du använda GetKeyboardManager för att skapa ett CKeyboardManager objekt.

CWinAppEx::InitMouseManager

Initierar CMouseManager-objektet.

BOOL InitMouseManager();

Returvärde

Nonzero om metoden skapar objektet CMouseManager; 0 om det CMouseManager objektet redan finns.

Anmärkningar

Om du anropar CWinAppEx::GetMouseManageranropar standardimplementeringen av metoden InitMouseManager.

Om programmet redan har en mushanterare och du anropar InitMouseManagerfår programmet ett ASSERT fel. Därför bör du inte anropa InitMouseManager om du skapar ett CMouseManager objekt direkt. Om du inte använder en anpassad CMouseManagerbör du använda GetMouseManager för att skapa ett CMouseManager objekt.

CWinAppEx::InitShellManager

Initierar CShellManager-objektet.

BOOL InitShellManager();

Returvärde

Nonzero om metoden skapar objektet CShellManager; 0 om det CShellManager objektet redan finns.

Anmärkningar

Om du anropar CWinAppEx::GetShellManageranropar standardimplementeringen av metoden InitShellManager.

Om ditt program redan har en gränssnittshanterare och du anropar InitShellManagergenererar programmet ett ASSERT fel. Anropa därför inte InitShellManager om du skapar ett CShellManager objekt direkt. Om du inte använder en anpassad CShellManageranvänder du GetShellManager för att skapa ett CShellManager objekt.

CWinAppEx::InitTooltipManager

Initierar CTooltipManager-objektet.

BOOL InitTooltipManager();

Returvärde

Nonzero om metoden skapar objektet CTooltipManager; 0 om det CTooltipManager objektet redan finns.

Anmärkningar

Om du anropar CWinAppEx::GetTooltipManageranropar standardimplementeringen av metoden InitTooltipManager.

Om programmet redan har en knappbeskrivningshanterare och du anropar InitTooltipManagerfår programmet ett ASSERT fel. Därför bör du inte anropa InitTooltipManager om du skapar ett CTooltipManager objekt direkt. Om du inte använder en anpassad CTooltipManagerbör du använda GetTooltipManager för att skapa ett CTooltipManager objekt.

CWinAppEx::IsResourceSmartUpdate

BOOL IsResourceSmartUpdate() const;

Returvärde

Anmärkningar

CWinAppEx::IsStateExists

Anger om den angivna nyckeln finns i registret.

BOOL IsStateExists(LPCTSTR lpszSectionName);

Parametrar

lpszSectionName
[i] En sträng som innehåller en sökväg för en registernyckel.

Returvärde

Nonzero om nyckeln finns i registret; annars 0.

CWinAppEx::LoadCustomState

Ramverket anropar den här metoden efter att programmets tillstånd har lästs in från registret.

virtual void LoadCustomState();

Anmärkningar

Åsidosätt den här metoden om du vill utföra någon bearbetning när programmet har läst in tillståndet från registret. Som standard gör den här metoden ingenting.

För att kunna läsa in information om anpassat tillstånd från registret måste informationen först sparas med hjälp av CWinAppEx::SaveCustomState.

CWinAppEx::LoadState

Läser programtillståndet från Windows-registret.

BOOL LoadState(
    CMDIFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL LoadState(
    CFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL LoadState(
    COleIPFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

virtual BOOL LoadState(
    LPCTSTR lpszSectionName = NULL,
    CFrameImpl* pFrameImpl = NULL);

Parametrar

pFrame
[i] En pekare till ett ramfönsterobjekt. Metoden tillämpar tillståndsinformationen i registret på det här ramfönstret.

lpszSectionName
[i] En sträng som innehåller den relativa sökvägen för en registernyckel.

pFrameImpl
[i] En pekare till ett CFrameImpl objekt. Metoden tillämpar tillståndsinformationen i registret på det här ramfönstret.

Returvärde

Nonzero om det lyckas; 0 annars.

Anmärkningar

Den här metoden läser in programmets tillstånd och eventuell tillståndsinformation för ett ramfönster. Den inlästa informationen för ramfönstret tillämpas på det angivna ramfönstret. Om du inte anger ett ramfönster läses endast programtillståndsinformationen in. Programinformationen innehåller tillståndet för CMouseManager Class, CContextMenuManager Class, CKeyboardManager Classoch CUserToolsManager Class.

Standardimplementeringen av CFrameImpl::OnLoadFrame anropar LoadState.

Parametern lpszSectionName är inte den absoluta sökvägen för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::LoadWindowPlacement

Anropas av ramverket när det läser in storleken och platsen för huvudramfönstret från registret.

virtual BOOL LoadWindowPlacement(
    CRect& rectNormalPosition,
    int& nFlags,
    int& nShowCmd);

Parametrar

rectNormalPosition
[ut] En rektangel som innehåller koordinaterna för huvudramsfönstret när den är i återställd position.

nFlags
[ut] Flaggor som styr positionen för det minimerade fönstret och hur operativsystemet växlar mellan ett minimerat fönster och ett återställt fönster.

nShowCmd
[ut] Ett heltal som anger visningstillståndet för fönstret. Mer information om möjliga värden finns i CWnd::ShowWindow.

Returvärde

Nonzero om det lyckas; 0 annars.

Anmärkningar

Som standard läser MFC automatiskt in den tidigare positionen och tillståndet för huvudramsfönstret när programmet startar. Mer information om hur den här informationen lagras i registret finns i CWinAppEx::StoreWindowPlacement.

Åsidosätt den här metoden om du vill läsa in ytterligare information om huvudramsfönstret.

CWinAppEx::m_bForceImageReset

Anger om ramverket återställer alla verktygsfältsbilder när det läser in ramfönstret som innehåller verktygsfältet igen.

BOOL m_bForceImageReset;

Anmärkningar

Den m_bForceImageReset datamedlemmen är en skyddad variabel.

CWinAppEx::OnAppContextHelp

Ramverket anropar den här metoden när användaren begär kontexthjälp för dialogrutan Anpassning.

virtual void OnAppContextHelp(
    CWnd* pWndControl,
    const DWORD dwHelpIDArray[]);

Parametrar

pWndControl
[i] En pekare till ett fönsterobjekt som användaren anropade kontexten för.

dwHelpIDArray[]
[i] Ett reserverat värde.

Anmärkningar

Den här metoden är för närvarande reserverad för framtida användning. Standardimplementeringen gör ingenting och anropas för närvarande inte av ramverket.

CWinAppEx::OnClosingMainFrame

Ramverket anropar den här metoden när ett ramfönster bearbetar WM_CLOSE.

virtual void OnClosingMainFrame(CFrameImpl* pFrameImpl);

Parametrar

pFrameImpl
[i] En pekare till ett CFrameImpl objekt.

Anmärkningar

Standardimplementeringen av den här metoden sparar tillståndet för pFrameImpl.

CWinAppEx::OnViewDoubleClick

Anropar det användardefinierade kommando som är associerat med en vy när användaren dubbelklickar var som helst i vyn.

virtual BOOL OnViewDoubleClick(
    CWnd* pWnd,
    int iViewId);

Parametrar

pWnd
[i] En pekare till ett objekt som härleds från CView Class.

iViewId
[i] Vy-ID:t.

Returvärde

TRUE om ramverket hittar ett kommando; annars FALSE.

Anmärkningar

För att stödja anpassat musbeteende måste du anropa den här funktionen när du bearbetar WM_LBUTTONDBLCLK meddelandet. Den här metoden kör kommandot som är associerat med det vy-ID som tillhandahålls av iViewId. Mer information om anpassat musbeteende finns i Anpassning av tangentbord och mus.

CWinAppEx::OnWorkspaceIdle

virtual BOOL OnWorkspaceIdle(CWnd*);

Parametrar

[i] CWnd*

Returvärde

Anmärkningar

CWinAppEx::PreLoadState

Ramverket anropar den här metoden omedelbart innan det läser in programmets tillstånd från registret.

virtual void PreLoadState();

Anmärkningar

Åsidosätt den här metoden om du vill utföra någon bearbetning omedelbart innan ramverket läser in programtillståndet.

CWinAppEx::PreSaveState

Ramverket anropar den här metoden omedelbart innan programmets tillstånd sparas.

virtual void PreSaveState();

Anmärkningar

Åsidosätt den här metoden om du vill utföra någon bearbetning omedelbart innan ramverket sparar programtillståndet.

CWinAppEx::ReloadWindowPlacement

Läser in storlek och plats för ett fönster igen från registret.

virtual BOOL ReloadWindowPlacement(CFrameWnd* pFrame);

Parametrar

pFrame
[i] En pekare till ett ramfönster.

Returvärde

Nonzero om metoden lyckades; 0 om belastningen misslyckades eller om det inte finns några data att läsa in.

Anmärkningar

Använd funktionen CWinAppEx::StoreWindowPlacement för att skriva storlek och plats för ett fönster till registret.

CWinAppEx::SaveCustomState

Ramverket anropar den här metoden efter att programmets tillstånd sparats i registret.

virtual void SaveCustomState();

Anmärkningar

Åsidosätt den här metoden om du vill utföra någon bearbetning när programmet har sparat tillståndet i registret. Som standard gör den här metoden ingenting.

CWinAppEx::SaveState

Skriver programtillståndet till Windows-registret.

virtual BOOL SaveState(
    LPCTSTR lpszSectionName = NULL,
    CFrameImpl* pFrameImpl = NULL);

BOOL SaveState(
    CMDIFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL SaveState(
    CFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL SaveState(
    COleIPFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

Parametrar

lpszSectionName
[i] En sträng som innehåller den relativa sökvägen för en registernyckel.

pFrameImpl
[i] En pekare till ett CFrameImpl objekt. Den här ramen sparas i Windows-registret.

pFrame
[i] En pekare till ett ramfönsterobjekt. Den här ramen sparas i Windows-registret.

Returvärde

TRUE om det lyckas. FALSE annars.

Anmärkningar

Den här metoden sparar programmets tillstånd och all tillståndsinformation för det angivna ramfönstret. Om du inte anger ett ramfönster sparar metoden bara programtillståndet. Programinformationen innehåller tillståndet för CMouseManager Class, CContextMenuManager Class, CKeyboardManager Classoch CUserToolsManager Class.

Parametern lpszSectionName är inte den absoluta sökvägen för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

CWinAppEx::SetRegistryBase

Anger standardregistersökvägen för programmet.

LPCTSTR SetRegistryBase(LPCTSTR lpszSectionName = NULL);

Parametrar

lpszSectionName
[i] En sträng som innehåller sökvägen till en registernyckel.

Returvärde

En sträng som innehåller sökvägen till standardregisterplatsen.

Anmärkningar

Alla metoder i CWinAppEx Class som har åtkomst till registret startar på en standardplats. Använd den här metoden för att ändra standardregisterplatsen. Använd CWinAppEx::GetRegistryBase för att hämta standardregisterplatsen.

CWinAppEx::ShowPopupMenu

Visar en popup-meny.

virtual BOOL ShowPopupMenu(
    UINT uiMenuResId,
    const CPoint& point,
    CWnd* pWnd);

Parametrar

uiMenuResId
[i] Ett resurs-ID för menyn.

point
[i] En CPoint som anger menyns position i skärmkoordinater.

pWnd
[i] En pekare till fönstret som äger popup-menyn.

Returvärde

Nonzero om popup-menyn visas. 0 annars.

Anmärkningar

Den här metoden visar menyn som är associerad med uiMenuResId.

Om du vill ha stöd för popup-menyer måste du ha ett CContextMenuManager objekt. Om du inte har initierat CContextMenuManager-objektet misslyckas ShowPopupMenu.

CWinAppEx::StoreWindowPlacement

Anropas av ramverket för att skriva storleken och platsen för huvudramfönstret till registret.

virtual BOOL StoreWindowPlacement(
    const CRect& rectNormalPosition,
    int nFlags,
    int nShowCmd);

Parametrar

nFlags
[i] Flaggor som styr positionen för det minimerade fönstret och hur operativsystemet växlar mellan ett minimerat fönster och ett återställt fönster.

nShowCmd
[i] Ett heltal som anger visningstillståndet för fönstret. Mer information om möjliga värden finns i CWnd::ShowWindow.

rectNormalPosition
[i] En rektangel som innehåller koordinaterna för huvudramsfönstret när den är i återställt tillstånd.

Returvärde

Nonzero om det lyckas; 0 annars.

Anmärkningar

Som standard sparar MFC automatiskt positionen och tillståndet för huvudramsfönstret innan programmet avslutas. Den här informationen lagras i Windows-registret under WindowsPlacement-nyckeln på standardregisterplatsen för ditt program. Mer information om programmets standardregisterplats finns i CWinAppEx::GetRegistryBase.

Åsidosätt den här metoden om du vill lagra ytterligare information om huvudramsfönstret.

CWinAppEx::WriteBinary

Skriver binära data till registret.

BOOL WriteBinary(
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Parametrar

lpszEntry
[i] En sträng som innehåller namnet på en registernyckel.

pData
[i] De data som ska lagras.

nBytes
[i] Storleken på pData i byte.

Returvärde

TRUE om den här metoden lyckas. annars FALSE.

Anmärkningar

Parametern lpszEntry är namnet på en registerpost som finns under standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

Om nyckeln som anges av lpszEntry inte finns skapar den här metoden den.

CWinAppEx::WriteInt

Skriver numeriska data till registret.

BOOL WriteInt(
    LPCTSTR lpszEntry,
    int nValue);

Parametrar

lpszEntry
[i] En sträng som innehåller namnet på en registernyckel.

nValue
[i] De data som ska lagras.

Returvärde

TRUE om den här metoden lyckas. annars FALSE.

Anmärkningar

Parametern lpszEntry är namnet på en registerpost som finns under standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

Om nyckeln som anges av lpszEntry inte finns skapar den här metoden den.

CWinAppEx::WriteObject

Skriver data som härleds från CObject Class till registret.

BOOL WriteObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Parametrar

lpszEntry
[i] En sträng som innehåller värdet som ska anges.

obj
[i] En referens till CObject data som metoden ska lagra.

Returvärde

TRUE om den här metoden lyckas. annars FALSE.

Anmärkningar

Den här metoden skriver obj data till det angivna värdet under standardregisternyckeln. Använd CWinAppEx::GetRegistryBase för att fastställa den aktuella registernyckeln.

CWinAppEx::WriteSectionBinary

Skriver binära data till ett värde i registret.

BOOL WriteSectionBinary(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Parametrar

lpszSubSection
[i] En sträng som innehåller namnet på en registernyckel

lpszEntry
[i] En sträng som innehåller värdet som ska anges.

pData
[i] De data som ska skrivas till registret.

nBytes
[i] Storleken på pData i byte.

Returvärde

TRUE om den här metoden lyckas. annars FALSE.

Anmärkningar

Parametern lpszSubSection är inte den absoluta sökvägen för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

Om nyckeln som anges av lpszEntry inte finns skapar den här metoden den.

CWinAppEx::WriteSectionInt

Skriver numeriska data till registret.

BOOL WriteSectionInt(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    int nValue);

Parametrar

lpszSubSection
[i] En sträng som innehåller den relativa sökvägen för en registernyckel.

lpszEntry
[i] En sträng som innehåller värdet som ska anges.

nValue
[i] De data som ska skrivas till registret.

Returvärde

TRUE om den här metoden lyckas. annars FALSE.

Anmärkningar

Parametern lpszSubSection är inte en absolut sökväg för en registerpost. Det är en relativ sökväg som läggs till i standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

Om nyckeln som anges av lpszEntry inte finns skapar den här metoden den.

CWinAppEx::WriteSectionObject

Skriver data som härleds från CObject Class till ett specifikt registervärde.

BOOL WriteSectionObject(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    CObject& obj);

Parametrar

lpszSubSection
[i] En sträng som innehåller namnet på en registernyckel.

lpszEntry
[i] En sträng som innehåller namnet på det värde som ska anges.

obj
[i] De data som ska lagras.

Returvärde

TRUE om den här metoden lyckas. annars FALSE.

Anmärkningar

Parametern lpszSubSection är inte en absolut sökväg för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

Om värdet som anges av lpszEntry inte finns under registernyckeln som anges av lpszSubSectionskapar den här metoden det värdet.

CWinAppEx::WriteSectionString

Skriver strängdata till ett värde i registret.

BOOL WriteSectionString(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Parametrar

lpszSubSection
[i] En sträng som innehåller namnet på en registernyckel.

lpszEntry
[i] En sträng som innehåller värdet som ska anges.

lpszValue
[i] Strängdata som ska skrivas till registret.

Returvärde

TRUE om den här metoden lyckas. annars FALSE.

Anmärkningar

Parametern lpszSubSection är inte en absolut sökväg för en registerpost. Det är en relativ sökväg som läggs till i slutet av standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

Om värdet som anges av lpszEntry inte finns under lpszSubSectionskapar den här metoden det.

CWinAppEx::WriteString

Skriver strängdata till registret.

BOOL WriteString(
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Parametrar

lpszEntry
[i] En sträng som innehåller namnet på en registernyckel.

lpszValue
[i] De data som ska lagras.

Returvärde

TRUE om den här metoden lyckas. annars FALSE.

Anmärkningar

Parametern lpszEntry är namnet på en registerpost som finns under standardregisternyckeln för ditt program. Om du vill hämta eller ange standardregisternyckeln använder du metoderna CWinAppEx::GetRegistryBase respektive CWinAppEx::SetRegistryBase.

Om nyckeln som anges av lspzEntry inte finns skapar den här metoden den.

Se även

hierarkidiagram
klasser
CWinApp klass
CMouseManager klass
CContextMenuManager klass
CKeyboardManager klass
CUserToolsManager klass