Sdílet prostřednictvím


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:

  1. Zarezervujte položku nabídky a přidružené ID příkazu pro položku nabídky nástroje uživatele.

  2. Vyhraďte si sekvenční ID příkazu pro každý uživatelský nástroj, který může uživatel definovat ve vaší aplikaci.

  3. 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

Objekt CObject

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.

Viz také

Graf hierarchie
Třídy
CWinAppEx – třída
CUserTool – třída