CUserToolsManager – třída
Udržuje kolekci objektů CUserTool Class v aplikaci. Uživatelský nástroj je položka nabídky, která spouští externí aplikaci. Objekt CUserToolsManager
umožňuje uživateli nebo vývojáři přidat do aplikace nové uživatelské nástroje. Podporuje provádění příkazů přidružených k uživatelským nástrojům a také ukládá informace o uživatelských nástrojích v registru Windows.
Syntaxe
class CUserToolsManager : public CObject
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CUserToolsManager::CUserToolsManager | Vytvoří .CUserToolsManager |
Veřejné metody
Název | Popis |
---|---|
CUserToolsManager::CreateNewTool | Vytvoří nový uživatelský nástroj. |
CUserToolsManager::FindTool | Vrátí ukazatel na CMFCUserTool objekt přidružený k zadanému ID příkazu. |
CUserToolsManager::GetArgumentsMenuID | Vrátí ID prostředku, které je přidruženo k nabídce Argumenty na kartě Nástroje v dialogovém okně Přizpůsobit. |
CUserToolsManager::GetDefExt | Vrátí výchozí příponu , kterou dialogové okno Otevřít soubor ( CFileDialog) používá v poli Příkaz na kartě Nástroje dialogového okna Přizpůsobit . |
CUserToolsManager::GetFilter | Vrátí filtr souborů, který dialogové okno Otevřít soubor ( CFileDialog Třída) používá v poli Příkaz na kartě Nástroje dialogového okna Přizpůsobit . |
CUserToolsManager::GetInitialDirMenuID | Vrátí ID prostředku přidružené k nabídce Počáteční adresář na kartě Nástroje v dialogovém okně Přizpůsobit. |
CUserToolsManager::GetMaxTools | Vrátí maximální počet uživatelských nástrojů, které lze přidělit v aplikaci. |
CUserToolsManager::GetToolsEntryCmd | Vrátí ID příkazu zástupného symbolu položky nabídky pro uživatelské nástroje. |
CUserToolsManager::GetUserTools | Vrátí odkaz na seznam uživatelských nástrojů. |
CUserToolsManager::InvokeTool | Spustí aplikaci přidruženou k uživatelskému nástroji, který má zadané ID příkazu. |
CUserToolsManager::IsUserToolCmd | Určuje, jestli je ID příkazu přidružené k nástroji uživatele. |
CUserToolsManager::LoadState | Načte informace o uživatelských nástrojích z registru Systému Windows. |
CUserToolsManager::MoveToolDown | Přesune zadaný uživatelský nástroj v seznamu uživatelských nástrojů dolů. |
CUserToolsManager::MoveToolUp | Přesune zadaný uživatelský nástroj v seznamu uživatelských nástrojů. |
CUserToolsManager::RemoveTool | Odebere zadaný uživatelský nástroj z aplikace. |
CUserToolsManager::SaveState | Ukládá informace o uživatelských nástrojích v registru Systému Windows. |
CUserToolsManager::SetDefExt | Určuje výchozí příponu , kterou dialogové okno Otevřít soubor ( CFileDialog Třída) používá v poli Příkaz na kartě Nástroje dialogového okna Přizpůsobit . |
CUserToolsManager::SetFilter | Určuje filtr souborů, který dialogové okno Otevřít soubor ( CFileDialog Třída) používá v poli Příkaz na kartě Nástroje dialogového okna Přizpůsobit . |
Poznámky
Pokud chcete do aplikace začlenit uživatelské nástroje, musíte:
Zarezervujte položku nabídky a přidružené ID příkazu pro položku nabídky nástroje uživatele.
Vyhraďte si sekvenční ID příkazu pro každý uživatelský nástroj, který může uživatel definovat ve vaší aplikaci.
Zavolejte metodu CWinAppEx::EnableUserTools a zadejte následující parametry: ID příkazu nabídky, ID příkazu prvního uživatelského nástroje a ID posledního příkazu nástroje uživatele.
Pro každou aplikaci by měl existovat pouze jeden globální CUserToolsManager
objekt.
Příklad uživatelských nástrojů najdete v ukázkovém projektu VisualStudioDemo.
Příklad
Následující příklad ukazuje, jak načíst odkaz na CUserToolsManager
objekt a jak vytvořit nové uživatelské nástroje. Tento fragment kódu je součástí ukázky sady Visual Studio Demo.
CUserToolsManager* pUserToolsManager = theApp.GetUserToolsManager();
if (pUserToolsManager != NULL && pUserToolsManager->GetUserTools().IsEmpty())
{
// CUserToolsManager* pUserToolsManager
CUserTool* pTool1 = pUserToolsManager->CreateNewTool();
pTool1->m_strLabel = _T("&Notepad");
pTool1->SetCommand(_T("notepad.exe"));
CUserTool* pTool2 = pUserToolsManager->CreateNewTool();
pTool2->m_strLabel = _T("Paint &Brush");
pTool2->SetCommand(_T("mspaint.exe"));
CUserTool* pTool3 = pUserToolsManager->CreateNewTool();
pTool3->m_strLabel = _T("&Windows Explorer");
pTool3->SetCommand(_T("explorer.exe"));
CUserTool* pTool4 = pUserToolsManager->CreateNewTool();
pTool4->m_strLabel = _T("Microsoft On-&Line");
pTool4->SetCommand(_T("http://www.microsoft.com"));
}
Hierarchie dědičnosti
CUserToolsManager
Požadavky
Hlavička: afxusertoolsmanager.h
CUserToolsManager::CreateNewTool
Vytvoří nový uživatelský nástroj.
CUserTool* CreateNewTool();
Návratová hodnota
Ukazatel na nově vytvořený uživatelský nástroj nebo null, pokud počet uživatelských nástrojů překročil maximum. Vrácený typ je stejný jako typ, který je předán CWinAppEx::EnableUserTools
jako pToolRTC parametr.
Poznámky
Tato metoda najde id prvního dostupného příkazu nabídky v oblasti, která je zadána ve volání CWinAppEx::EnableUserTools a přiřadí nástroj uživatele toto ID.
Pokud počet nástrojů dosáhl maximálního počtu nástrojů, metoda selže. K tomu dochází, když jsou k uživatelským nástrojům přiřazena všechna ID příkazů v rozsahu. Maximální počet nástrojů můžete načíst voláním CUserToolsManager::GetMaxTools. Přístup k seznamu nástrojů můžete získat voláním metody CUserToolsManager::GetUserTools .
CUserToolsManager::CUserToolsManager
Vytvoří .CUserToolsManager
Každá aplikace musí mít maximálně jednoho správce uživatelských nástrojů.
CUserToolsManager();
CUserToolsManager(
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::CreateNewTool vytvoří. Pomocí této třídy můžete místo výchozí implementace použít odvozený typ třídy CUserTool .
uArgMenuID
[v] ID prostředku nabídky místní nabídky argumentů.
uInitDirMenuID
[v] ID prostředku nabídky v místní nabídce počátečního adresáře
Poznámky
Tento konstruktor nevolejte. Místo toho zavolejte CWinAppEx::EnableUserTools k povolení uživatelských nástrojů a volání CWinAppEx::GetUserToolsManager získat ukazatel na CUserToolsManager
. Další informace naleznete v tématu Uživatelsky definované nástroje.
CUserToolsManager::FindTool
Vrátí ukazatel na objekt CUserTool Class , který je přidružen k zadanéMU ID příkazu.
CUserTool* FindTool(UINT uiCmdId) const;
Parametry
uiCmdId
[v] Identifikátor příkazu nabídky.
Návratová hodnota
Ukazatel na CUserTool Class nebo CUserTool
-odvozený objekt, pokud úspěch; jinak NULL.
Poznámky
Po FindTool
úspěšném dokončení je vrácený typ stejný jako typ parametru pToolRTC pro CWinAppEx::EnableUserTools.
CUserToolsManager::GetArgumentsMenuID
Vrátí ID prostředku, které je přidruženo k nabídce Argumenty na kartě Nástroje v dialogovém okně Přizpůsobit.
UINT GetArgumentsMenuID() const;
Návratová hodnota
Identifikátor prostředku nabídky.
Poznámky
Parametr uArgMenuID CWinAppEx::EnableUserTools určuje ID prostředku.
CUserToolsManager::GetDefExt
Vrátí výchozí příponu , kterou dialogové okno Otevřít soubor ( CFileDialog) používá v poli Příkaz na kartě Nástroje dialogového okna Přizpůsobit .
const CString& GetDefExt() const;
Návratová hodnota
Odkaz na CString
objekt, který obsahuje rozšíření.
CUserToolsManager::GetFilter
Vrátí filtr souborů, který dialogové okno Otevřít soubor ( CFileDialog Třída) používá v poli Příkaz na kartě Nástroje dialogového okna Přizpůsobit .
const CString& GetFilter() const;
Návratová hodnota
Odkaz na CString
objekt, který obsahuje filtr.
CUserToolsManager::GetInitialDirMenuID
Vrátí ID prostředku přidružené k nabídce Počáteční adresář na kartě Nástroje v dialogovém okně Přizpůsobit.
UINT GetInitialDirMenuID() const;
Návratová hodnota
Identifikátor prostředku nabídky.
Poznámky
Vrácené ID je zadáno v parametru uInitDirMenuID CWinAppEx::EnableUserTools.
CUserToolsManager::GetMaxTools
Vrátí maximální počet uživatelských nástrojů, které lze přidělit v aplikaci.
int GetMaxTools() const;
Návratová hodnota
Maximální počet uživatelských nástrojů, které lze přidělit.
Poznámky
Voláním této metody načtěte maximální počet nástrojů, které lze přidělit v aplikaci. Toto číslo je počet ID v rozsahu od uiCmdFirst prostřednictvím parametrů uiCmdLast, které předáte CWinAppEx::EnableUserTools.
CUserToolsManager::GetToolsEntryCmd
Vrátí ID příkazu zástupného symbolu položky nabídky pro uživatelské nástroje.
UINT GetToolsEntryCmd() const;
Návratová hodnota
ID příkazu zástupného symbolu
Poznámky
Chcete-li povolit uživatelské nástroje, zavoláte CWinAppEx::EnableUserTools. Parametr uiCmdToolsDummy určuje ID příkazu příkazu pro zadávání nástrojů. Tato metoda vrátí ID příkazu pro zadávání nástrojů. Všude, kde se toto ID používá v nabídce, se při zobrazení nabídky nahradí seznamem uživatelských nástrojů.
CUserToolsManager::GetUserTools
Vrátí odkaz na seznam uživatelských nástrojů.
const CObList& GetUserTools() const;
Návratová hodnota
Const odkaz na CObList Class objekt, který obsahuje seznam uživatelských nástrojů.
Poznámky
Voláním této metody načtěte seznam uživatelských nástrojů, které CUserToolsManager objekt udržuje. Každý uživatelský nástroj je reprezentován objektem typu CUserTool Class nebo typem odvozeným z CUserTool
. Typ je určen parametrem pToolRTC při volání CWinAppEx::EnableUserTools pro povolení uživatelských nástrojů.
CUserToolsManager::InvokeTool
Spustí aplikaci přidruženou k uživatelskému nástroji, který má zadané ID příkazu.
BOOL InvokeTool(UINT uiCmdId);
Parametry
uiCmdId
[v] ID příkazu nabídky přidružené k nástroji uživatele.
Návratová hodnota
Nenulové, pokud byl příkaz přidružený k uživatelskému nástroji úspěšně proveden; jinak 0.
Poznámky
Voláním této metody spusťte aplikaci přidruženou k uživatelskému nástroji, který má ID příkazu určeného uiCmdId.
CUserToolsManager::IsUserToolCmd
Určuje, jestli je ID příkazu přidružené k nástroji uživatele.
BOOL IsUserToolCmd(UINT uiCmdId) const;
Parametry
uiCmdId
[v] ID příkazu položky nabídky.
Návratová hodnota
Nenulové, pokud je dané ID příkazu přidružené k uživatelskému nástroji; jinak 0.
Poznámky
Tato metoda zkontroluje, jestli je dané ID příkazu v oblasti ID příkazu. Rozsah zadáte při volání CWinAppEx::EnableUserTools pro povolení uživatelských nástrojů.
CUserToolsManager::LoadState
Načte informace o uživatelských nástrojích z registru Systému Windows.
BOOL LoadState(LPCTSTR lpszProfileName=NULL);
Parametry
lpszProfileName
[v] Cesta klíče registru Systému Windows.
Návratová hodnota
Nenulové, pokud byl stav úspěšně načten; jinak 0.
Poznámky
Tato metoda načte stav objektu CUserToolsManager
z registru Systému Windows.
Obvykle tuto metodu nevoláte přímo. CWinAppEx::LoadState ji volá jako součást procesu inicializace pracovního prostoru.
CUserToolsManager::MoveToolDown
Přesune zadaný uživatelský nástroj v seznamu uživatelských nástrojů dolů.
BOOL MoveToolDown(CUserTool* pTool);
Parametry
pTool
[v] Určuje uživatelský nástroj, který se má přesunout.
Návratová hodnota
Nenulové, pokud byl uživatelský nástroj úspěšně přesunut dolů; jinak 0.
Poznámky
Metoda selže, pokud nástroj, který pTool určuje, není v interním seznamu nebo pokud je nástroj poslední v seznamu.
CUserToolsManager::MoveToolUp
Přesune zadaný uživatelský nástroj v seznamu uživatelských nástrojů.
BOOL MoveToolUp(CUserTool* pTool);
Parametry
pTool
[v] Určuje uživatelský nástroj, který se má přesunout.
Návratová hodnota
Nenulové, pokud byl uživatelský nástroj úspěšně přesunut nahoru; jinak 0.
Poznámky
Metoda selže, pokud nástroj, který určuje parametr pTool není v interním seznamu nebo pokud je nástroj první položkou nástroje v seznamu.
CUserToolsManager::RemoveTool
Odebere zadaný uživatelský nástroj z aplikace.
BOOL RemoveTool(CUserTool* pTool);
Parametry
pTool
[in, out] Ukazatel na uživatelský nástroj, který se má odebrat.
Návratová hodnota
TRUE, pokud je nástroj úspěšně odebrán. V opačném případě FALSE.
Poznámky
Pokud je nástroj úspěšně odebrán, tato metoda odstraní pTool.
CUserToolsManager::SaveState
Ukládá informace o uživatelských nástrojích v registru Systému Windows.
BOOL SaveState(LPCTSTR lpszProfileName=NULL);
Parametry
lpszProfileName
[v] Cesta k klíči registru Systému Windows.
Návratová hodnota
Nenulové, pokud byl stav úspěšně uložen; jinak 0.
Poznámky
Metoda ukládá aktuální stav objektu CUserToolsManager
v registru Systému Windows.
Obvykle není nutné volat tuto metodu přímo, CWinAppEx::SaveState ji volá automaticky jako součást procesu serializace pracovního prostoru aplikace.
CUserToolsManager::SetDefExt
Určuje výchozí příponu , kterou dialogové okno Otevřít soubor ( CFileDialog Třída) používá v poli Příkaz na kartě Nástroje dialogového okna Přizpůsobit .
void SetDefExt(const CString& strDefExt);
Parametry
strDefExt
[v] Textový řetězec, který obsahuje výchozí příponu názvu souboru.
Poznámky
Voláním této metody určíte výchozí příponu názvu souboru v dialogovém okně Otevřít soubor, která se zobrazí, když uživatel vybere aplikaci, která se má přidružit k nástroji uživatele. Výchozí hodnota je "exe".
CUserToolsManager::SetFilter
Určuje filtr souborů, který dialogové okno Otevřít soubor ( CFileDialog Třída) používá v poli Příkaz na kartě Nástroje dialogového okna Přizpůsobit .
void SetFilter(const CString& strFilter);
Parametry
strFilter
[v] Určuje filtr.