Share via


Klasse CUserToolsManager

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Onderhoudt de verzameling CUserTool-klasseobjecten in een toepassing. Een gebruikershulpprogramma is een menu-item waarmee een externe toepassing wordt uitgevoerd. Met CUserToolsManager het object kan de gebruiker of ontwikkelaar nieuwe gebruikershulpprogramma's toevoegen aan de toepassing. Het ondersteunt de uitvoering van de opdrachten die zijn gekoppeld aan gebruikershulpprogramma's en slaat ook informatie op over gebruikershulpprogramma's in het Windows-register.

Syntaxis

class CUserToolsManager : public CObject

Leden

Openbare constructors

Naam Description
CUserToolsManager::CUserToolsManager Maakt een CUserToolsManager.

Openbare methoden

Naam Description
CUserToolsManager::CreateNewTool Hiermee maakt u een nieuw gebruikershulpprogramma.
CUserToolsManager::FindTool Retourneert de aanwijzer naar het CMFCUserTool object dat is gekoppeld aan een opgegeven opdracht-id.
CUserToolsManager::GetArgumentsMenuID Retourneert de resource-id die is gekoppeld aan het menu Argumenten op het tabblad Extra van het dialoogvenster Aanpassen .
CUserToolsManager::GetDefExt Retourneert de standaardextensie die het dialoogvenster Bestand openen ( CFileDialog) gebruikt in het opdrachtveld op het tabblad Extra van het dialoogvenster Aanpassen .
CUserToolsManager::GetFilter Retourneert het bestandsfilter dat het dialoogvenster Bestand openen ( CFileDialog-klasse) gebruikt in het opdrachtveld op het tabblad Extra van het dialoogvenster Aanpassen .
CUserToolsManager::GetInitialDirMenuID Retourneert de resource-id die is gekoppeld aan het menu Eerste map op het tabblad Extra van het dialoogvenster Aanpassen .
CUserToolsManager::GetMaxTools Retourneert het maximum aantal gebruikershulpprogramma's dat kan worden toegewezen in de toepassing.
CUserToolsManager::GetToolsEntryCmd Retourneert de opdracht-id van de tijdelijke aanduiding voor menu-items voor gebruikershulpprogramma's.
CUserToolsManager::GetUserTools Retourneert een verwijzing naar de lijst met gebruikershulpprogramma's.
CUserToolsManager::InvokeTool Hiermee wordt een toepassing uitgevoerd die is gekoppeld aan het gebruikershulpprogramma met een opgegeven opdracht-id.
CUserToolsManager::IsUserToolCmd Bepaalt of een opdracht-id is gekoppeld aan een gebruikershulpprogramma.
CUserToolsManager::LoadState Laadt informatie over gebruikershulpprogramma's uit het Windows-register.
CUserToolsManager::MoveToolDown Hiermee verplaatst u het opgegeven gebruikershulpprogramma omlaag in de lijst met gebruikershulpprogramma's.
CUserToolsManager::MoveToolUp Hiermee verplaatst u het opgegeven gebruikershulpprogramma omhoog in de lijst met gebruikershulpprogramma's.
CUserToolsManager::RemoveTool Hiermee verwijdert u het opgegeven gebruikershulpprogramma uit de toepassing.
CUserToolsManager::SaveState Slaat informatie op over gebruikershulpprogramma's in het Windows-register.
CUserToolsManager::SetDefExt Hiermee geeft u de standaardextensie op die het dialoogvenster Bestand openen ( CFileDialog Class) gebruikt in het opdrachtveld op het tabblad Extra van het dialoogvenster Aanpassen .
CUserToolsManager::SetFilter Hiermee geeft u het bestandsfilter op dat het dialoogvenster Bestand openen ( CFileDialog-klasse) gebruikt in het opdrachtveld op het tabblad Extra van het dialoogvenster Aanpassen .

Opmerkingen

Als u gebruikershulpprogramma's in uw toepassing wilt opnemen, moet u het volgende doen:

  1. Reserveer een menu-item en een bijbehorende opdracht-id voor een menu-item voor gebruikershulpprogramma's.

  2. Reserveer een sequentiële opdracht-id voor elk gebruikershulpprogramma dat een gebruiker in uw toepassing kan definiëren.

  3. Roep de methode CWinAppEx::EnableUserTools aan en geef de volgende parameters op: menuopdracht-id, eerste gebruikersopdrachtopdracht-id en laatste gebruikersopdracht-id.

Er mag slechts één globaal CUserToolsManager object per toepassing zijn.

Zie het voorbeeldproject VisualStudioDemo voor een voorbeeld van gebruikershulpprogramma's.

Example

In het volgende voorbeeld ziet u hoe u een verwijzing naar een CUserToolsManager object ophaalt en hoe u nieuwe gebruikershulpprogramma's maakt. Dit codefragment maakt deel uit van het Visual Studio Demo-voorbeeld.

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

Overnamehiërarchie

CObject

CUserToolsManager

Requirements

Header: afxusertoolsmanager.h

CUserToolsManager::CreateNewTool

Hiermee maakt u een nieuw gebruikershulpprogramma.

CUserTool* CreateNewTool();

Retourwaarde

Een aanwijzer naar het zojuist gemaakte gebruikershulpprogramma of NULL als het aantal gebruikershulpprogramma's het maximum heeft overschreden. Het geretourneerde type is hetzelfde als het type dat wordt doorgegeven CWinAppEx::EnableUserTools als de parameter pToolRTC .

Opmerkingen

Met deze methode wordt de eerste beschikbare menuopdracht-id gevonden in het bereik dat wordt opgegeven in de aanroep naar CWinAppEx::EnableUserTools en wijst u het gebruikershulpprogramma deze id toe.

De methode mislukt als het aantal hulpprogramma's het maximum heeft bereikt. Dit gebeurt wanneer alle opdracht-id's binnen het bereik worden toegewezen aan gebruikershulpprogramma's. U kunt het maximum aantal hulpprogramma's ophalen door CUserToolsManager::GetMaxTools aan te roepen. U kunt toegang krijgen tot de lijst met hulpprogramma's door de methode CUserToolsManager::GetUserTools aan te roepen.

CUserToolsManager::CUserToolsManager

Maakt een CUserToolsManager. Elke toepassing moet maximaal één gebruikershulpprogrammabeheer hebben.

CUserToolsManager();

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

Parameterwaarden

uiCmdToolsDummy
[in] Een geheel getal zonder teken dat door het framework wordt gebruikt als tijdelijke aanduiding voor de opdracht-id van het menu Gebruikershulpprogramma's.

uiCmdFirst
[in] De opdracht-id voor de eerste opdracht voor het hulpprogramma van de gebruiker.

uiCmdLast
[in] De opdracht-id voor de laatste opdracht voor het hulpprogramma van de gebruiker.

pToolRTC
[in] De klasse CUserToolsManager::CreateNewTool maakt. Met deze klasse kunt u een afgeleid type CUserTool-klasse gebruiken in plaats van de standaardimplementatie.

uArgMenuID
[in] De menuresource-id van het pop-upmenu argumenten.

uInitDirMenuID
[in] De menuresource-id van het pop-upmenu van de eerste map.

Opmerkingen

Roep deze constructor niet aan. Roep in plaats daarvan CWinAppEx::EnableUserTools in om gebruikershulpprogramma's in te schakelen en roep CWinAppEx::GetUserToolsManager aan om een aanwijzer naar de CUserToolsManager. Zie Door de gebruiker gedefinieerde hulpprogramma's voor meer informatie.

CUserToolsManager::FindTool

Retourneert de aanwijzer naar het CUserTool-klasseobject dat is gekoppeld aan een opgegeven opdracht-id.

CUserTool* FindTool(UINT uiCmdId) const;

Parameterwaarden

uiCmdId
[in] Een menuopdracht-id.

Retourwaarde

Een aanwijzer naar een CUserTool-klasse of CUserTool-afgeleide object als dit lukt; anders NULL.

Opmerkingen

Wanneer FindTool dit lukt, is het geretourneerde type hetzelfde als het type van de parameter pToolRTC voor CWinAppEx::EnableUserTools.

CUserToolsManager::GetArgumentsMenuID

Retourneert de resource-id die is gekoppeld aan het menu Argumenten op het tabblad Extra van het dialoogvenster Aanpassen .

UINT GetArgumentsMenuID() const;

Retourwaarde

De id van een menuresource.

Opmerkingen

De parameter uArgMenuID van CWinAppEx::EnableUserTools geeft de id van de resource op.

CUserToolsManager::GetDefExt

Retourneert de standaardextensie die het dialoogvenster Bestand openen ( CFileDialog) gebruikt in het opdrachtveld op het tabblad Extra van het dialoogvenster Aanpassen .

const CString& GetDefExt() const;

Retourwaarde

Een verwijzing naar het CString object dat de extensie bevat.

CUserToolsManager::GetFilter

Retourneert het bestandsfilter dat het dialoogvenster Bestand openen ( CFileDialog-klasse) gebruikt in het opdrachtveld op het tabblad Extra van het dialoogvenster Aanpassen .

const CString& GetFilter() const;

Retourwaarde

Een verwijzing naar het CString object dat het filter bevat.

CUserToolsManager::GetInitialDirMenuID

Retourneert de resource-id die is gekoppeld aan het menu Eerste map op het tabblad Extra van het dialoogvenster Aanpassen .

UINT GetInitialDirMenuID() const;

Retourwaarde

Een menuresource-id.

Opmerkingen

De geretourneerde id wordt opgegeven in de parameter uInitDirMenuID van CWinAppEx::EnableUserTools.

CUserToolsManager::GetMaxTools

Retourneert het maximum aantal gebruikershulpprogramma's dat kan worden toegewezen in de toepassing.

int GetMaxTools() const;

Retourwaarde

Het maximum aantal gebruikershulpprogramma's dat kan worden toegewezen.

Opmerkingen

Roep deze methode aan om het maximum aantal hulpprogramma's op te halen dat kan worden toegewezen in de toepassing. Dit getal is het aantal id's in het bereik van uiCmdFirst via de parameters uiCmdLast die u doorgeeft aan CWinAppEx::EnableUserTools.

CUserToolsManager::GetToolsEntryCmd

Retourneert de opdracht-id van de tijdelijke aanduiding voor menu-items voor gebruikershulpprogramma's.

UINT GetToolsEntryCmd() const;

Retourwaarde

De opdracht-id van de tijdelijke aanduiding.

Opmerkingen

Als u gebruikershulpprogramma's wilt inschakelen, roept u CWinAppEx::EnableUserTools aan. De parameter uiCmdToolsDummy geeft de opdracht-id van de opdracht voor het invoeren van hulpprogramma's. Met deze methode wordt de opdracht-id voor hulpprogramma's geretourneerd. Waar die id ook wordt gebruikt in een menu, wordt deze vervangen door de lijst met gebruikershulpprogramma's wanneer het menu wordt weergegeven.

CUserToolsManager::GetUserTools

Retourneert een verwijzing naar de lijst met gebruikershulpprogramma's.

const CObList& GetUserTools() const;

Retourwaarde

Een const-verwijzing naar een CObList-klasseobject dat een lijst met gebruikershulpprogramma's bevat.

Opmerkingen

Roep deze methode aan om een lijst met gebruikershulpprogramma's op te halen die het object CUserToolsManager onderhoudt. Elk gebruikershulpprogramma wordt vertegenwoordigd door een object van het type CUserTool Class of een type dat is afgeleid van CUserTool. Het type wordt opgegeven door de parameter pToolRTC wanneer u CWinAppEx::EnableUserTools aanroept om gebruikershulpprogramma's in te schakelen.

CUserToolsManager::InvokeTool

Hiermee wordt een toepassing uitgevoerd die is gekoppeld aan het gebruikershulpprogramma met een opgegeven opdracht-id.

BOOL InvokeTool(UINT uiCmdId);

Parameterwaarden

uiCmdId
[in] De menuopdracht-id die is gekoppeld aan het gebruikershulpprogramma.

Retourwaarde

Nonzero als de opdracht die is gekoppeld aan het gebruikershulpprogramma is uitgevoerd; anders 0.

Opmerkingen

Roep deze methode aan om een toepassing uit te voeren die is gekoppeld aan het gebruikershulpprogramma met de opdracht-id die is opgegeven door uiCmdId.

CUserToolsManager::IsUserToolCmd

Bepaalt of een opdracht-id is gekoppeld aan een gebruikershulpprogramma.

BOOL IsUserToolCmd(UINT uiCmdId) const;

Parameterwaarden

uiCmdId
[in] Een opdracht-id van het menu-item.

Retourwaarde

Niet-nul als een bepaalde opdracht-id is gekoppeld aan een gebruikershulpprogramma; anders 0.

Opmerkingen

Met deze methode wordt gecontroleerd of de opgegeven opdracht-id zich in het bereik van de opdracht-id bevindt. U geeft het bereik op wanneer u CWinAppEx::EnableUserTools aanroept om gebruikershulpprogramma's in te schakelen.

CUserToolsManager::LoadState

Laadt informatie over gebruikershulpprogramma's uit het Windows-register.

BOOL LoadState(LPCTSTR lpszProfileName=NULL);

Parameterwaarden

lpszProfileName
[in] Het pad van de Windows-registersleutel.

Retourwaarde

Niet-nul als de status is geladen; anders 0.

Opmerkingen

Met deze methode wordt de status van het object uit het CUserToolsManager Windows-register geladen.

Meestal roept u deze methode niet rechtstreeks aan. CWinAppEx::LoadState roept deze aan als onderdeel van het initialisatieproces van de werkruimte.

CUserToolsManager::MoveToolDown

Hiermee verplaatst u het opgegeven gebruikershulpprogramma omlaag in de lijst met gebruikershulpprogramma's.

BOOL MoveToolDown(CUserTool* pTool);

Parameterwaarden

pTool
[in] Hiermee geeft u het gebruikershulpprogramma dat moet worden verplaatst.

Retourwaarde

Niet-nul als het gebruikershulpprogramma is neergezet; anders 0.

Opmerkingen

De methode mislukt als het hulpprogramma dat de pTool opgeeft zich niet in de interne lijst bevindt of als het hulpprogramma voor het laatst in de lijst staat.

CUserToolsManager::MoveToolUp

Hiermee verplaatst u het opgegeven gebruikershulpprogramma omhoog in de lijst met gebruikershulpprogramma's.

BOOL MoveToolUp(CUserTool* pTool);

Parameterwaarden

pTool
[in] Hiermee geeft u het gebruikershulpprogramma dat moet worden verplaatst.

Retourwaarde

Niet-nul als het gebruikershulpprogramma is verplaatst; anders 0.

Opmerkingen

De methode mislukt als het hulpprogramma dat de parameter pTool opgeeft zich niet in de interne lijst bevindt of als het hulpprogramma het eerste hulpmiddelitem in de lijst is.

CUserToolsManager::RemoveTool

Hiermee verwijdert u het opgegeven gebruikershulpprogramma uit de toepassing.

BOOL RemoveTool(CUserTool* pTool);

Parameterwaarden

pTool
[in, uit] Een aanwijzer naar een gebruikershulpprogramma dat moet worden verwijderd.

Retourwaarde

WAAR als het hulpprogramma is verwijderd. Anders, ONWAAR.

Opmerkingen

Als het hulpprogramma is verwijderd, wordt met deze methode pTool verwijderd.

CUserToolsManager::SaveState

Slaat informatie op over gebruikershulpprogramma's in het Windows-register.

BOOL SaveState(LPCTSTR lpszProfileName=NULL);

Parameterwaarden

lpszProfileName
[in] Een pad naar de Windows-registersleutel.

Retourwaarde

Niet-nul als de status is opgeslagen; anders 0.

Opmerkingen

De methode slaat de huidige status van het CUserToolsManager object op in het Windows-register.

Normaal gesproken hoeft u deze methode niet rechtstreeks aan te roepen. CWinAppEx::SaveState roept deze automatisch aan als onderdeel van het serialisatieproces van de werkruimte van de toepassing.

CUserToolsManager::SetDefExt

Hiermee geeft u de standaardextensie op die het dialoogvenster Bestand openen ( CFileDialog Class) gebruikt in het opdrachtveld op het tabblad Extra van het dialoogvenster Aanpassen .

void SetDefExt(const CString& strDefExt);

Parameterwaarden

strDefExt
[in] Een tekenreeks die de standaardbestandsextensie bevat.

Opmerkingen

Roep deze methode aan om een standaardbestandsextensie op te geven in het dialoogvenster Bestand openen, die wordt weergegeven wanneer de gebruiker een toepassing selecteert die moet worden gekoppeld aan het gebruikershulpprogramma. De standaardwaarde is 'exe'.

CUserToolsManager::SetFilter

Hiermee geeft u het bestandsfilter op dat het dialoogvenster Bestand openen ( CFileDialog-klasse) gebruikt in het opdrachtveld op het tabblad Extra van het dialoogvenster Aanpassen .

void SetFilter(const CString& strFilter);

Parameterwaarden

strFilter
[in] Hiermee geeft u het filter.

Zie ook

Hiërarchiegrafiek
Klassen
CWinAppEx-klasse
Klasse CUserTool