Sdílet prostřednictvím


Třída CWinAppEx

CWinAppEx zpracovává stav aplikace, ukládá stav do registru, načte stav z registru, inicializuje správce aplikací a poskytuje odkazy na stejné správce aplikací.

Další podrobnosti najdete ve zdrojovém kódu umístěném mfc ve složce instalace sady Visual Studio. Například %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

Syntaxe

class CWinAppEx : public CWinApp

Členové

Veřejné konstruktory

Název Popis
CWinAppEx::CWinAppEx CWinAppEx Vytvoří objekt.

Veřejné metody

Název Popis
CWinAppEx::CleanState Odebere informace o aplikaci z registru Systému Windows.
CWinAppEx::EnableLoadWindowPlacement Určuje, jestli aplikace načte počáteční velikost a umístění okna hlavního rámce z registru.
CWinAppEx::EnableTearOffMenus Povolí pro aplikaci nabídky pro odtržování.
CWinAppEx::EnableUserTools Umožňuje uživateli vytvořit vlastní příkazy nabídky v aplikaci.
CWinAppEx::ExitInstance Volá se rozhraním z členské Run funkce pro ukončení této instance aplikace. (Přepsání CWinApp::ExitInstance.)
CWinAppEx::GetBinary Čte binární data přidružená k zadané hodnotě registru.
CWinAppEx::GetContextMenuManager Vrátí ukazatel na globální CContextMenuManager objekt.
CWinAppEx::GetDataVersion
CWinAppEx::GetDataVersionMajor Vrátí hlavní verzi aplikace uložené v registru Systému Windows.
CWinAppEx::GetDataVersionMinor Vrátí podverzi aplikace uložené v registru Windows.
CWinAppEx::GetInt Čte číselná data přidružená k zadané hodnotě z registru.
CWinAppEx::GetKeyboardManager Vrátí ukazatel na globální CKeyboardManager objekt.
CWinAppEx::GetMouseManager Vrátí ukazatel na globální CMouseManager objekt.
CWinAppEx::GetObject CObjectČte odvozená data přidružená k zadané hodnotě z registru.
CWinAppEx::GetRegSectionPath Vrátí řetězec, který je cestou klíče registru. Tato cesta zřetězí zadanou relativní cestu s cestou aplikace.
CWinAppEx::GetRegistryBase Vrátí cestu registru pro aplikaci.
CWinAppEx::GetSectionBinary Čte binární data přidružená k zadanému klíči a hodnotě z registru.
CWinAppEx::GetSectionInt Čte číselná data z registru přidruženého k zadanému klíči a hodnotě.
CWinAppEx::GetSectionObject CObject Čte data přidružená k zadanému klíči a hodnotě z registru.
CWinAppEx::GetSectionString Načte řetězcová data přidružená k zadanému klíči a hodnotě z registru.
CWinAppEx::GetShellManager Vrátí ukazatel na globální CShellManager objekt.
CWinAppEx::GetString Načte řetězcová data přidružená k zadané hodnotě z registru.
CWinAppEx::GetTooltipManager Vrátí ukazatel na globální CTooltipManager objekt.
CWinAppEx::GetUserToolsManager Vrátí ukazatel na globální CUserToolsManager objekt.
CWinAppEx::InitContextMenuManager Inicializuje CContextMenuManager objekt.
CWinAppEx::InitKeyboardManager Inicializuje CKeyboardManager objekt.
CWinAppEx::InitMouseManager Inicializuje CMouseManager objekt.
CWinAppEx::InitShellManager Inicializuje CShellManager třídu.
CWinAppEx::InitTooltipManager Inicializuje CTooltipManager třídu.
CWinAppEx::IsResourceSmartUpdate
CWinAppEx::IsStateExists Určuje, jestli je zadaný klíč v registru.
CWinAppEx::LoadState Načte stav aplikace z registru.
CWinAppEx::OnAppContextHelp Volá se rozhraním, když uživatel požádá o kontextovou nápovědu pro dialogové okno Vlastní nastavení .
CWinAppEx::OnViewDoubleClick Zavolá příkaz definovaný uživatelem, když uživatel pokliká kamkoli do aplikace.
CWinAppEx::OnWorkspaceIdle
CWinAppEx::SaveState Zapíše stav aplikační architektury do registru Systému Windows.
CWinAppEx::SetRegistryBase Nastaví cestu výchozího klíče registru. Tento klíč bude sloužit jako kořen pro všechna následná volání registru.
CWinAppEx::ShowPopupMenu Zobrazí místní nabídku.
CWinAppEx::WriteBinary Zapíše binární data do zadané hodnoty registru.
CWinAppEx::WriteInt Zapíše číselná data do zadané hodnoty registru.
CWinAppEx::WriteObject Zapíše data odvozená z CObject třídy do zadané hodnoty registru.
CWinAppEx::WriteSectionBinary Zapíše binární data do hodnoty zadaného klíče registru.
CWinAppEx::WriteSectionInt Zapíše číselná data na hodnotu zadaného klíče registru.
CWinAppEx::WriteSectionObject Zapisuje data odvozená z CObject třídy do hodnoty zadaného klíče registru.
CWinAppEx::WriteSectionString Zapíše řetězcová data na hodnotu zadaného klíče registru.
CWinAppEx::WriteString Zapíše řetězcová data do zadané hodnoty registru.

Chráněné metody

Název Popis
CWinAppEx::LoadCustomState Volá se rozhraním při načtení stavu aplikace.
CWinAppEx::LoadWindowPlacement Volá se rozhraním, když načte velikost a umístění vaší aplikace z registru. Načtená data zahrnují velikost a umístění hlavního rámce v době posledního zavření aplikace.
CWinAppEx::OnClosingMainFrame Volá se architekturou při zpracování WM_CLOSEokna hlavního rámce .
CWinAppEx::PreLoadState Volané architekturou bezprostředně před načtením stavu aplikace.
CWinAppEx::PreSaveState Volané architekturou bezprostředně před uložením stavu aplikace.
CWinAppEx::ReloadWindowPlacement Znovu načte velikost a umístění zadaného okna z registru.
CWinAppEx::SaveCustomState Volá se rozhraním poté, co zapíše stav aplikace do registru.
CWinAppEx::StoreWindowPlacement Volá se rozhraním pro zápis velikosti a umístění hlavního rámce do registru.

Datové členy

Název Popis
CWinAppEx::m_bForceImageReset Určuje, zda architektura resetuje všechny obrázky panelu nástrojů při načtení okna rámečku, který obsahuje panel nástrojů.

Poznámky

Většina funkcí poskytovaných architekturou MFC závisí na CWinAppEx třídě. Třídu můžete do aplikace začlenit CWinAppEx jedním ze dvou způsobů:

  • CWinAppEx Vytvořte třídu v hlavním vlákně.

  • Odvodit hlavní třídu aplikace z CWinAppEx.

Po začlenění CWinAppEx do aplikace můžete inicializovat kterýkoli z manažerů aplikací. Než použijete správce aplikací, musíte ho inicializovat voláním příslušné metody inicializace. Chcete-li získat ukazatel na konkrétního manažera, zavolejte přidruženou metodu get. Třída CWinAppEx spravuje následující správce aplikací: CMouseManager třída,CContextMenuManager třída, CKeyboardManager třída, třída,CUserToolsManager třída a CMenuTearOffManager třída.

Hierarchie dědičnosti

CObject

CCmdTarget

CWinThread

CWinApp

CWinAppEx

Požadavky

Záhlaví: afxwinappex.h

CWinAppEx::CleanState

Odebere všechny informace o aplikaci z registru Windows.

virtual BOOL CleanState(LPCTSTR lpszSectionName=NULL);

Parametry

lpszSectionName
[v] Řetězec, který obsahuje cestu klíče registru.

Návratová hodnota

Nenulové, pokud byla metoda úspěšná; jinak 0.

Poznámky

Tato metoda vymaže data aplikace z konkrétní části registru. Pomocí parametru lpszSectionNamemůžete určit oddíl, který chcete vymazat. Pokud lpszSectionName je NULL, tato metoda použije výchozí cestu registru uloženou v objektu CWinAppEx . K získání výchozí cesty registru použijte CWinAppEx::GetRegistryBase.

CWinAppEx::CWinAppEx

CWinAppEx Vytvoří objekt.

CWinAppEx(BOOL bResourceSmartUpdate = FALSE);

Parametry

bResourceSmartUpdate
[v] Logický parametr, který určuje, jestli má objekt pracovního prostoru zjišťovat a zpracovávat aktualizace prostředků.

Poznámky

Třída CWinAppEx má inicializační metody, poskytuje funkce pro ukládání a načítání informací aplikace do registru a řídí globální nastavení aplikace. Umožňuje také používat globální manažery, jako CKeyboardManager je třída a CUserToolsManager třída. Každá aplikace může mít pouze jednu instanci CWinAppEx třídy.

CWinAppEx::EnableLoadWindowPlacement

Určuje, jestli aplikace načte počáteční velikost a umístění okna hlavního rámce z registru.

void EnableLoadWindowPlacement(BOOL bEnable = TRUE);

Parametry

bEnable
[v] Určuje, zda aplikace načte počáteční velikost a umístění okna hlavního rámce z registru.

Poznámky

Ve výchozím nastavení se velikost a umístění hlavního rámce načtou z registru společně s dalšími nastaveními aplikace. K tomu dochází během CWinAppEx::LoadState. Pokud nechcete načíst počáteční umístění okna z registru, zavolejte tuto metodu s nastavenou bEnable hodnotou FALSE.

CWinAppEx::EnableTearOffMenus

Vytvoří a inicializuje CMenuTearOffManager objekt.

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

Parametry

lpszRegEntry
[v] Řetězec, který obsahuje cestu klíče registru. Aplikace používá tento klíč registru k ukládání informací pro odtržení nabídek.

uiCmdFirst
[v] První id nabídky pro odtrhání.

uiCmdLast
[v] Poslední id nabídky pro odtrhání.

Návratová hodnota

TRUECMenuTearOffManager pokud je vytvořen a inicializován úspěšně; FALSE pokud dojde k chybě nebo pokud CMenuTearOffManager již existuje.

Poznámky

Pomocí této funkce můžete ve své aplikaci povolit nabídky pro odtržení. Tuto funkci byste měli volat z InitInstance.

CWinAppEx::EnableUserTools

Umožňuje uživateli vytvářet vlastní příkazy nabídky, které snižují stisknutí kláves ve vaší aplikaci. Tato metoda vytvoří CUserToolsManager objekt.

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

Parametry

uiCmdToolsDummy
[v] Celé číslo bez znaménka, které architektura používá jako zástupný symbol pro ID příkazu nabídky uživatelských nástrojů.

uiCmdFirst
[v] ID příkazu prvního uživatelského nástroje.

uiCmdLast
[v] ID příkazu posledního uživatelského nástroje.

pToolRTC
[v] Třída, kterou CUserToolsManager objekt používá k vytvoření nových uživatelských nástrojů.

uArgMenuID
[v] ID nabídky argumentu.

uInitDirMenuID
[v] ID nabídky pro počáteční adresář nástrojů.

Návratová hodnota

TRUE pokud metoda vytvoří a inicializuje CUserToolsManager objekt; FALSE pokud metoda selže nebo pokud CUserToolsManager objekt již existuje.

Poznámky

Když povolíte uživatelsky definované nástroje, architektura automaticky podporuje dynamickou nabídku, která se dá během přizpůsobení rozšířit. Architektura přidruží každou novou položku k externímu příkazu. Rozhraní vyvolá tyto příkazy, když uživatel vybere příslušnou položku z nabídky Nástroje .

Pokaždé, když uživatel přidá novou položku, architektura vytvoří nový objekt. Typ třídy pro nový objekt je definován .pToolRTC Typ pToolRTC třídy musí být odvozen z CUserTool třídy.

Další informace o uživatelských nástrojích a o tom, jak je začlenit do aplikace, naleznete v tématu Uživatelem definované nástroje.

CWinAppEx::ExitInstance

virtual int ExitInstance();

Návratová hodnota

Poznámky

CWinAppEx::GetBinary

Načte binární data ze zadaného klíče registru.

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

Parametry

lpszEntry
[v] Řetězec, který obsahuje název klíče registru.

ppData
[ven] Ukazatel na vyrovnávací paměť, kterou metoda vyplní binárními daty.

pBytes
[ven] Ukazatel na celé číslo bez znaménka, které metoda používá k zápisu počtu přečtených bajtů.

Návratová hodnota

TRUE v případě úspěchu; FALSE jinak.

Poznámky

Tato metoda čte binární data zapsaná do registru. K zápisu dat do registru použijte metody CWinAppEx::WriteBinary a CWinAppEx::WriteSectionBinary.

Parametr lpszEntry je název položky registru umístěné pod výchozím klíčem registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::GetContextMenuManager

Vrátí ukazatel na globální CContextMenuManager objekt.

CContextMenuManager* GetContextMenuManager();

Návratová hodnota

Ukazatel na globální CContextMenuManager objekt.

Poznámky

CContextMenuManager Pokud objekt není inicializován, tato funkce volá CWinAppEx::InitContextMenuManager před tím, než vrátí ukazatel.

CWinAppEx::GetDataVersion

int GetDataVersion() const;

Návratová hodnota

Poznámky

CWinAppEx::GetDataVersionMajor

Vrátí hlavní verzi aplikace, která je uložena v registru Windows při volání CWinAppEx::SaveState.

int GetDataVersionMajor() const;

Návratová hodnota

Celočíselná hodnota, která obsahuje číslo hlavní verze.

CWinAppEx::GetDataVersionMinor

Vrátí podverzi aplikace, která je uložena v registru Windows při volání CWinAppEx::SaveState.

int GetDataVersionMinor() const;

Návratová hodnota

Celočíselná hodnota, která obsahuje číslo podverze.

CWinAppEx::GetInt

Načte celočíselná data ze zadaného klíče registru.

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

Parametry

lpszEntry
[v] Řetězec, který obsahuje název položky registru.

nDefault
[v] Výchozí hodnota, kterou metoda vrátí, pokud zadaná položka registru neexistuje.

Návratová hodnota

Data registru, pokud byla metoda úspěšná; jinak nDefault.

Poznámky

Tato metoda čte celočíselná data z registru. Pokud nejsou k klíči registru přiřazena žádná celočíselná data, která jsou označena lpszEntry, tato metoda vrátí nDefault. K zápisu dat do registru použijte metody CWinAppEx::WriteSectionInt a CWinAppEx::WriteInt.

Parametr lpszEntry je název položky registru umístěné pod výchozím klíčem registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::GetKeyboardManager

Vrátí ukazatel na globální CKeyboardManager objekt.

CKeyboardManager* GetKeyboardManager();

Návratová hodnota

Ukazatel na globální CKeyboardManager objekt.

Poznámky

Pokud správce klávesnice není inicializován, tato funkce volá před CWinAppEx::InitKeyboardManager tím, než vrátí ukazatel.

CWinAppEx::GetMouseManager

Vrátí ukazatel na globální CMouseManager objekt.

CMouseManager* GetMouseManager();

Návratová hodnota

Ukazatel na globální CMouseManager objekt.

Poznámky

Pokud správce myši není inicializován, tato funkce volá před CWinAppEx::InitMouseManager tím, než vrátí ukazatel.

CWinAppEx::GetObject

CObjectNačte data -dervied z registru.

BOOL GetObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Parametry

lpszEntry
[v] Řetězec, který obsahuje relativní cestu položky registru.

obj
[ven] Odkaz na .CObject Tato metoda používá tento odkaz k uložení dat registru.

Návratová hodnota

Nenulové, pokud byla metoda úspěšná; jinak 0.

Poznámky

Tato metoda čte data z registru odvozeného z CObject. K zápisu CObject dat do registru použijte buď CWinAppEx::WriteObject nebo CWinAppEx::WriteSectionObject.

Parametr lpszEntry je název položky registru, která se nachází pod výchozím klíčem registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::GetRegistryBase

Načte výchozí cestu registru pro aplikaci.

LPCTSTR GetRegistryBase();

Návratová hodnota

Řetězec, který obsahuje cestu výchozího umístění registru.

Poznámky

Všechny metody CWinAppEx třídy , které přistupuje k registru, začínají ve výchozím umístění. Tuto metodu použijte k načtení cesty výchozího umístění registru. Slouží CWinAppEx::SetRegistryBase ke změně výchozího umístění registru.

CWinAppEx::GetRegSectionPath

Vytvoří a vrátí absolutní cestu klíče registru.

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

Parametry

szSectionAdd
[v] Řetězec, který obsahuje relativní cestu klíče registru.

Návratová hodnota

A CString obsahující absolutní cestu klíče registru.

Poznámky

Tato metoda definuje absolutní cestu klíče registru připojením relativní cesty szSectionAdd k výchozímu umístění registru pro vaši aplikaci. K získání výchozího klíče registru použijte metodu CWinAppEx::GetRegistryBase.

CWinAppEx::GetSectionBinary

Načte binární data z registru.

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

Parametry

lpszSubSection
[v] Řetězec, který obsahuje relativní cestu klíče registru.

lpszEntry
[v] Řetězec obsahující hodnotu, která se má přečíst.

ppData
[ven] Ukazatel na vyrovnávací paměť, ve které metoda ukládá data.

pBytes
[ven] Ukazatel na celé číslo bez znaménka Metoda zapíše velikost tohoto parametru ppData .

Návratová hodnota

TRUE v případě úspěchu; jinak FALSE.

Poznámky

Tato metoda čte binární data, která jsou zapsána do registru pomocí metod CWinAppEx::WriteBinary a CWinAppEx::WriteSectionBinary.

Parametr lpszSubSection není absolutní cestou pro položku registru. Je to relativní cesta, která je připojena na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::GetSectionInt

Načte celočíselná data z registru.

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

Parametry

lpszSubSection
[v] Řetězec, který obsahuje relativní cestu klíče registru.

lpszEntry
[v] Řetězec obsahující hodnotu, která se má přečíst.

nDefault
[v] Výchozí hodnota, která se má vrátit, pokud zadaná hodnota neexistuje.

Návratová hodnota

Celočíselná data uložená v zadané hodnotě registru; nDefault pokud data neexistují.

Poznámky

Použijte metody CWinAppEx::WriteInt a CWinAppEx::WriteSectionInt zapisujte celočíselná data do registru.

Parametr lpszSubSection není absolutní cestou položky registru. Jedná se o relativní cestu, která se přidá na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::GetSectionObject

CObject Načte data registru z registru.

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

Parametry

lpszSubSection
[v] Řetězec, který obsahuje relativní cestu klíče registru.

lpszEntry
[v] Řetězec obsahující hodnotu, která se má přečíst.

obj
[ven] Odkaz na .CObject Tato metoda tuto CObject metodu používá k ukládání dat registru.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato metoda čte data z registru. Čtení dat jsou CObject data nebo data pro třídu odvozenou z CObject. K zápisu CObject dat do registru použijte buď CWinAppEx::WriteObject nebo CWinAppEx::WriteSectionObject.

Parametr lpszSubSection není absolutní cestou pro položku registru. Je to relativní cesta, která je připojena na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::GetSectionString

Načte řetězcová data z registru.

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

Parametry

lpszSubSection
[v] Řetězec, který obsahuje relativní cestu klíče registru.

lpszEntry
[v] Řetězec obsahující hodnotu, která se má přečíst.

lpszDefault
[v] Výchozí hodnota, která se má vrátit, pokud zadaná hodnota neexistuje.

Návratová hodnota

Řetězcová data uložená v zadané hodnotě registru, pokud data existují; jinak lpszDefault.

Poznámky

Tato metoda čte řetězcová data zapsaná do registru. Slouží CWinAppEx::WriteString k CWinAppEx::WriteSectionString zápisu řetězcových dat do registru.

Parametr lpszSubSection není absolutní cestou pro položku registru. Je to relativní cesta, která je připojena na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::GetShellManager

Vrátí ukazatel na globální CShellManager objekt.

CShellManager* GetShellManager();

Návratová hodnota

Ukazatel na globální CShellManager objekt.

Poznámky

CShellManager Pokud objekt není inicializován, tato funkce volá CWinAppEx::InitShellManager před tím, než vrátí ukazatel.

CWinAppEx::GetString

Načte řetězcová data ze zadaného klíče registru.

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

Parametry

lpszEntry
[v] Řetězec obsahující název klíče registru

lpzDefault
[v] Výchozí hodnota, kterou metoda vrátí, pokud zadaná položka registru neexistuje.

Návratová hodnota

Řetězcová data uložená v registru v případě úspěchu; lpszDefault jinak.

Poznámky

Tato metoda čte řetězcová data zapsaná do registru. K zápisu dat do registru použijte metody CWinAppEx::WriteString nebo CWinAppEx::WriteSectionString.

Parametr lpszEntry je název položky registru umístěné pod výchozím klíčem registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::GetTooltipManager

Vrátí ukazatel na globální CTooltipManager objekt.

CTooltipManager* GetTooltipManager();

Návratová hodnota

Ukazatel na globální CTooltipManager objekt.

Poznámky

CTooltipManager Pokud objekt není inicializován, tato funkce volá CWinAppEx::InitTooltipManager před tím, než vrátí ukazatel.

CWinAppEx::GetUserToolsManager

Vrátí ukazatel na globální CUserToolsManager objekt.

CUserToolsManager* GetUserToolsManager();

Návratová hodnota

Ukazatel na globální CUserToolsManager objekt; NULL pokud pro aplikaci není povolená správa uživatelských nástrojů.

Poznámky

Před načtením ukazatele na CUserToolsManager objekt je nutné inicializovat správce voláním CWinAppEx::EnableUserTools.

CWinAppEx::InitContextMenuManager

Inicializuje CContextMenuManager objekt.

BOOL InitContextMenuManager();

Návratová hodnota

Nenulové, pokud metoda vytvoří CContextMenuManager objekt; 0 pokud CContextMenuManager objekt již existuje.

Poznámky

Pokud voláte CWinAppEx::GetContextMenuManager, výchozí implementace této metody volání InitContextMenuManager.

Pokud už vaše aplikace má správce místní nabídky a voláte InitContextMenuManagerji, aplikace se nezdaří ASSERT . Proto byste neměli volat InitContextMenuManager , pokud vytvoříte CContextMenuManager objekt přímo. Pokud nepoužíváte vlastní CContextMenuManagerobjekt, měli byste ho použít GetContextMenuManager k vytvoření objektu CContextMenuManager .

CWinAppEx::InitKeyboardManager

Inicializuje CKeyboardManager objekt.

BOOL InitKeyboardManager();

Návratová hodnota

Nenulové, pokud metoda vytvoří CKeyboardManager objekt; 0 pokud CKeyboardManager objekt již existuje.

Poznámky

Pokud voláte CWinAppEx::GetKeyboardManager, výchozí implementace této metody volání InitKeyboardManager.

Pokud už vaše aplikace má správce klávesnice a voláte InitKeyboardManager, aplikace se nezdaří ASSERT . Proto byste neměli volat InitKeyboardManager , pokud vytvoříte CKeyboardManager objekt přímo. Pokud nepoužíváte vlastní CKeyboardManagerobjekt, měli byste ho použít GetKeyboardManager k vytvoření objektu CKeyboardManager .

CWinAppEx::InitMouseManager

Inicializuje CMouseManager objekt.

BOOL InitMouseManager();

Návratová hodnota

Nenulové, pokud metoda vytvoří CMouseManager objekt; 0 pokud CMouseManager objekt již existuje.

Poznámky

Pokud voláte CWinAppEx::GetMouseManager, výchozí implementace této metody volání InitMouseManager.

Pokud už vaše aplikace má správce myši a voláte InitMouseManager, aplikace se nezdaří ASSERT . Proto byste neměli volat InitMouseManager , pokud vytvoříte CMouseManager objekt přímo. Pokud nepoužíváte vlastní CMouseManagerobjekt, měli byste ho použít GetMouseManager k vytvoření objektu CMouseManager .

CWinAppEx::InitShellManager

Inicializuje CShellManager objekt.

BOOL InitShellManager();

Návratová hodnota

Nenulové, pokud metoda vytvoří CShellManager objekt; 0 pokud CShellManager objekt již existuje.

Poznámky

Pokud voláte CWinAppEx::GetShellManager, výchozí implementace této metody volání InitShellManager.

Pokud už vaše aplikace má správce prostředí a voláte InitShellManager, aplikace vyvolá ASSERT chybu. Proto nevolejte InitShellManager , pokud vytvoříte CShellManager objekt přímo. Pokud nepoužíváte vlastní CShellManagerobjekt, použijte GetShellManager ho k vytvoření objektu CShellManager .

CWinAppEx::InitTooltipManager

Inicializuje CTooltipManager objekt.

BOOL InitTooltipManager();

Návratová hodnota

Nenulové, pokud metoda vytvoří CTooltipManager objekt; 0 pokud CTooltipManager objekt již existuje.

Poznámky

Pokud voláte CWinAppEx::GetTooltipManager, výchozí implementace této metody volání InitTooltipManager.

Pokud už vaše aplikace obsahuje správce popisů a voláte InitTooltipManager, aplikace se nezdaří ASSERT . Proto byste neměli volat InitTooltipManager , pokud vytvoříte CTooltipManager objekt přímo. Pokud nepoužíváte vlastní CTooltipManagerobjekt, měli byste ho použít GetTooltipManager k vytvoření objektu CTooltipManager .

CWinAppEx::IsResourceSmartUpdate

BOOL IsResourceSmartUpdate() const;

Návratová hodnota

Poznámky

CWinAppEx::IsStateExists

Určuje, jestli je zadaný klíč v registru.

BOOL IsStateExists(LPCTSTR lpszSectionName);

Parametry

lpszSectionName
[v] Řetězec, který obsahuje cestu klíče registru.

Návratová hodnota

Nenulové, pokud je klíč v registru; jinak 0.

CWinAppEx::LoadCustomState

Architektura volá tuto metodu poté, co načte stav aplikace z registru.

virtual void LoadCustomState();

Poznámky

Tuto metodu přepište, pokud chcete provést jakékoli zpracování po načtení stavu aplikace z registru. Ve výchozím nastavení tato metoda nedělá nic.

Aby bylo možné načíst vlastní informace o stavu z registru, musí být informace nejprve uloženy pomocí CWinAppEx::SaveCustomState.

CWinAppEx::LoadState

Načte stav aplikace z registru Systému Windows.

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

Parametry

pFrame
[v] Ukazatel na objekt okna rámečku. Metoda použije informace o stavu v registru pro toto okno rámce.

lpszSectionName
[v] Řetězec, který obsahuje relativní cestu klíče registru.

pFrameImpl
[v] Ukazatel na CFrameImpl objekt. Metoda použije informace o stavu v registru pro toto okno rámce.

Návratová hodnota

Nenulové, pokud je úspěšné; 0 jinak.

Poznámky

Tato metoda načte stav aplikace a všechny informace o stavu okna rámce. Načtené informace pro okno rámečku se použijí na zadané okno rámečku. Pokud nezadáte okno rámce, načtou se jenom informace o stavu aplikace. Informace o aplikaci zahrnují stav CMouseManager třídy, CContextMenuManager třídy, CKeyboardManager třídy a CUserToolsManager třídy.

Výchozí implementace CFrameImpl::OnLoadFrame volání LoadState.

Parametr lpszSectionName není absolutní cestou pro položku registru. Jedná se o relativní cestu, která se přidá na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::LoadWindowPlacement

Volá se rozhraním, když načte velikost a umístění okna hlavního rámce z registru.

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

Parametry

rectNormalPosition
[ven] Obdélník, který obsahuje souřadnice okna hlavního rámce, když je v obnovené pozici.

nFlags
[ven] Označí příznaky, které řídí umístění minimalizovaného okna a způsob přepínání operačního systému mezi minimalizované okno a obnoveným oknem.

nShowCmd
[ven] Celé číslo, které určuje stav zobrazení okna. Další informace o možných hodnotách naleznete v tématu CWnd::ShowWindow.

Návratová hodnota

Nenulové, pokud je úspěšné; 0 jinak.

Poznámky

Mfc ve výchozím nastavení automaticky načte předchozí pozici a stav okna hlavního rámce při spuštění aplikace. Další informace o tom, jak jsou tyto informace uloženy v registru, naleznete v tématu CWinAppEx::StoreWindowPlacement.

Tuto metodu přepište, pokud chcete načíst další informace o hlavním okně rámce.

CWinAppEx::m_bForceImageReset

Určuje, zda architektura resetuje všechny obrázky panelu nástrojů při opětovném načtení okna rámce, který obsahuje panel nástrojů.

BOOL m_bForceImageReset;

Poznámky

Datový m_bForceImageReset člen je chráněná proměnná.

CWinAppEx::OnAppContextHelp

Architektura volá tuto metodu, když uživatel požaduje kontextovou nápovědu pro dialogové okno Vlastní nastavení .

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

Parametry

pWndControl
[v] Ukazatel na objekt okna, pro který uživatel vyvolal kontextovou nápovědu.

dwHelpIDArray[]
[v] Rezervovaná hodnota.

Poznámky

Tato metoda je aktuálně vyhrazena pro budoucí použití. Výchozí implementace nic nedělá a v současné době není volána architekturou.

CWinAppEx::OnClosingMainFrame

Architektura volá tuto metodu při zpracování WM_CLOSEokna rámce .

virtual void OnClosingMainFrame(CFrameImpl* pFrameImpl);

Parametry

pFrameImpl
[v] Ukazatel na CFrameImpl objekt.

Poznámky

Výchozí implementace této metody uloží stav pFrameImpl.

CWinAppEx::OnViewDoubleClick

Volá uživatelem definovaný příkaz přidružený k zobrazení, když uživatel pokliká kdekoli v daném zobrazení.

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

Parametry

pWnd
[v] Ukazatel na objekt odvozený z CView třídy.

iViewId
[v] ID zobrazení.

Návratová hodnota

TRUE pokud rámec najde příkaz; jinak FALSE.

Poznámky

Chcete-li podporovat vlastní chování myši, musíte tuto funkci volat při zpracování WM_LBUTTONDBLCLK zprávy. Tato metoda spustí příkaz přidružený k ID zobrazení zadaného uživatelem iViewId. Další informace o vlastním chování myši naleznete v tématu Přizpůsobení klávesnice a myši.

CWinAppEx::OnWorkspaceIdle

virtual BOOL OnWorkspaceIdle(CWnd*);

Parametry

[v] CWnd*\

Návratová hodnota

Poznámky

CWinAppEx::PreLoadState

Architektura volá tuto metodu bezprostředně před načtením stavu aplikace z registru.

virtual void PreLoadState();

Poznámky

Tuto metodu přepište, pokud chcete provést jakékoli zpracování bezprostředně před načtením stavu aplikace rozhraní.

CWinAppEx::PreSaveState

Architektura volá tuto metodu bezprostředně před uložením stavu aplikace.

virtual void PreSaveState();

Poznámky

Tuto metodu přepište, pokud chcete provést jakékoli zpracování bezprostředně před uložením stavu aplikace.

CWinAppEx::ReloadWindowPlacement

Znovu načte velikost a umístění okna z registru.

virtual BOOL ReloadWindowPlacement(CFrameWnd* pFrame);

Parametry

pFrame
[v] Ukazatel na okno rámečku.

Návratová hodnota

Nenulové, pokud byla metoda úspěšná; 0, pokud se načtení nezdařilo nebo se nenačtou žádná data.

Poznámky

CWinAppEx::StoreWindowPlacement Funkce slouží k zápisu velikosti a umístění okna do registru.

CWinAppEx::SaveCustomState

Architektura volá tuto metodu poté, co uloží stav aplikace do registru.

virtual void SaveCustomState();

Poznámky

Tuto metodu přepište, pokud chcete provést jakékoli zpracování po uložení stavu aplikace do registru. Ve výchozím nastavení tato metoda nedělá nic.

CWinAppEx::SaveState

Zapíše stav aplikace do registru Systému Windows.

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

Parametry

lpszSectionName
[v] Řetězec, který obsahuje relativní cestu klíče registru.

pFrameImpl
[v] Ukazatel na CFrameImpl objekt. Tento rámec se uloží do registru Systému Windows.

pFrame
[v] Ukazatel na objekt okna rámečku. Tento rámec se uloží do registru Systému Windows.

Návratová hodnota

TRUE v případě úspěchu; FALSE jinak.

Poznámky

Tato metoda uloží stav aplikace a všechny informace o stavu pro zadané okno rámce. Pokud nezadáte okno rámce, metoda uloží pouze stav aplikace. Informace o aplikaci zahrnují stav CMouseManager třídy, CContextMenuManager třídy, CKeyboardManager třídy a CUserToolsManager třídy.

Parametr lpszSectionName není absolutní cestou pro položku registru. Je to relativní cesta, která je připojena na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

CWinAppEx::SetRegistryBase

Nastaví výchozí cestu registru pro aplikaci.

LPCTSTR SetRegistryBase(LPCTSTR lpszSectionName = NULL);

Parametry

lpszSectionName
[v] Řetězec, který obsahuje cestu klíče registru.

Návratová hodnota

Řetězec, který obsahuje cestu výchozího umístění registru.

Poznámky

Všechny metody CWinAppEx třídy , které přistupuje k registru, začínají ve výchozím umístění. Tuto metodu použijte ke změně výchozího umístění registru. Slouží CWinAppEx::GetRegistryBase k načtení výchozího umístění registru.

CWinAppEx::ShowPopupMenu

Zobrazí místní nabídku.

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

Parametry

uiMenuResId
[v] ID prostředku nabídky.

point
[v] A CPoint , který určuje umístění nabídky v souřadnicích obrazovky.

pWnd
[v] Ukazatel na okno, které vlastní místní nabídku.

Návratová hodnota

Nenulové, pokud se místní nabídka zobrazí úspěšně; 0 jinak.

Poznámky

Tato metoda zobrazí nabídku přidruženou k uiMenuResId.

Pokud chcete podporovat místní nabídky, musíte mít CContextMenuManager objekt. Pokud jste objekt inicializovali CContextMenuManager , ShowPopupMenu selže.

CWinAppEx::StoreWindowPlacement

Volá se rozhraním pro zápis velikosti a umístění okna hlavního rámce do registru.

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

Parametry

nFlags
[v] Označí příznaky, které řídí umístění minimalizovaného okna a způsob přepínání operačního systému mezi minimalizované okno a obnoveným oknem.

nShowCmd
[v] Celé číslo, které určuje stav zobrazení okna. Další informace o možných hodnotách naleznete v tématu CWnd::ShowWindow.

rectNormalPosition
[v] Obdélník, který obsahuje souřadnice okna hlavního rámce, když je v obnoveném stavu.

Návratová hodnota

Nenulové, pokud je úspěšné; 0 jinak.

Poznámky

Mfc ve výchozím nastavení automaticky uloží pozici a stav okna hlavního rámce před ukončením aplikace. Tyto informace jsou uloženy v registru Systému Windows pod klíčem WindowPlacement ve výchozím umístění registru pro vaši aplikaci. Další informace o výchozím umístění registru aplikace naleznete v tématu CWinAppEx::GetRegistryBase.

Tuto metodu přepište, pokud chcete uložit další informace o hlavním okně rámce.

CWinAppEx::WriteBinary

Zapíše binární data do registru.

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

Parametry

lpszEntry
[v] Řetězec, který obsahuje název klíče registru.

pData
[v] Data, která se mají uložit.

nBytes
[v] Velikost pData v bajtech

Návratová hodnota

TRUE pokud je tato metoda úspěšná; jinak FALSE.

Poznámky

Parametr lpszEntry je název položky registru, která se nachází pod výchozím klíčem registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

Pokud klíč zadaný tímto kódem lpszEntry neexistuje, tato metoda ho vytvoří.

CWinAppEx::WriteInt

Zapíše číselná data do registru.

BOOL WriteInt(
    LPCTSTR lpszEntry,
    int nValue);

Parametry

lpszEntry
[v] Řetězec, který obsahuje název klíče registru.

nValue
[v] Data, která se mají uložit.

Návratová hodnota

TRUE pokud je tato metoda úspěšná; jinak FALSE.

Poznámky

Parametr lpszEntry je název položky registru umístěné pod výchozím klíčem registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

Pokud klíč zadaný tímto kódem lpszEntry neexistuje, tato metoda ho vytvoří.

CWinAppEx::WriteObject

Zapisuje data odvozená z CObject třídy do registru.

BOOL WriteObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Parametry

lpszEntry
[v] Řetězec obsahující hodnotu, která se má nastavit.

obj
[v] Odkaz na CObject data, která bude metoda ukládat.

Návratová hodnota

TRUE pokud je tato metoda úspěšná; jinak FALSE.

Poznámky

Tato metoda zapíše obj data do zadané hodnoty pod výchozím klíčem registru. Slouží CWinAppEx::GetRegistryBase k určení aktuálního klíče registru.

CWinAppEx::WriteSectionBinary

Zapíše binární data do hodnoty v registru.

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

Parametry

lpszSubSection
[v] Řetězec obsahující název klíče registru

lpszEntry
[v] Řetězec obsahující hodnotu, která se má nastavit.

pData
[v] Data, která se mají zapisovat do registru.

nBytes
[v] Velikost pData v bajtech

Návratová hodnota

TRUE pokud je tato metoda úspěšná; jinak FALSE.

Poznámky

Parametr lpszSubSection není absolutní cestou pro položku registru. Je to relativní cesta, která je připojena na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

Pokud klíč zadaný tímto kódem lpszEntry neexistuje, tato metoda ho vytvoří.

CWinAppEx::WriteSectionInt

Zapíše číselná data do registru.

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

Parametry

lpszSubSection
[v] Řetězec, který obsahuje relativní cestu klíče registru.

lpszEntry
[v] Řetězec obsahující hodnotu, která se má nastavit.

nValue
[v] Data, která se mají zapisovat do registru.

Návratová hodnota

TRUE pokud je tato metoda úspěšná; jinak FALSE.

Poznámky

Parametr lpszSubSection není absolutní cestou pro položku registru. Jedná se o relativní cestu, která je připojena k výchozímu klíči registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

Pokud klíč zadaný tímto kódem lpszEntry neexistuje, tato metoda ho vytvoří.

CWinAppEx::WriteSectionObject

Zapisuje data odvozená z CObject třídy do konkrétní hodnoty registru.

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

Parametry

lpszSubSection
[v] Řetězec, který obsahuje název klíče registru.

lpszEntry
[v] Řetězec, který obsahuje název hodnoty, kterou chcete nastavit.

obj
[v] Data, která se mají uložit.

Návratová hodnota

TRUE pokud je tato metoda úspěšná; jinak FALSE.

Poznámky

Parametr lpszSubSection není absolutní cestou pro položku registru. Je to relativní cesta, která je připojena na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBasev uvedeném pořadí.

Pokud hodnota zadaná lpszEntry uživatelem neexistuje v klíči registru určeném metodou lpszSubSection, tato metoda vytvoří tuto hodnotu.

CWinAppEx::WriteSectionString

Zapíše řetězcová data do hodnoty v registru.

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

Parametry

lpszSubSection
[v] Řetězec, který obsahuje název klíče registru.

lpszEntry
[v] Řetězec obsahující hodnotu, která se má nastavit.

lpszValue
[v] Řetězcová data pro zápis do registru.

Návratová hodnota

TRUE pokud je tato metoda úspěšná; jinak FALSE.

Poznámky

Parametr lpszSubSection není absolutní cestou pro položku registru. Je to relativní cesta, která je připojena na konec výchozího klíče registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBasev uvedeném pořadí.

Pokud hodnota zadaná lpszEntry v části lpszSubSectionneexistuje, tato metoda ji vytvoří.

CWinAppEx::WriteString

Zapíše řetězcová data do registru.

BOOL WriteString(
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Parametry

lpszEntry
[v] Řetězec, který obsahuje název klíče registru.

lpszValue
[v] Data, která se mají uložit.

Návratová hodnota

TRUE pokud je tato metoda úspěšná; jinak FALSE.

Poznámky

Parametr lpszEntry je název položky registru umístěné pod výchozím klíčem registru pro vaši aplikaci. K získání nebo nastavení výchozího klíče registru použijte metody CWinAppEx::GetRegistryBase a CWinAppEx::SetRegistryBase v uvedeném pořadí.

Pokud klíč zadaný tímto kódem lspzEntry neexistuje, tato metoda ho vytvoří.

Viz také

Graf hierarchie
Třídy
CWinApp Třída
CMouseManager Třída
CContextMenuManager Třída
CKeyboardManager Třída
CUserToolsManager Třída