Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
MFC ondersteunt door de gebruiker gedefinieerde hulpprogramma's. Een door de gebruiker gedefinieerd hulpprogramma is een speciale opdracht waarmee een extern, door de gebruiker opgegeven programma wordt uitgevoerd. U kunt het aanpassingsproces gebruiken om door de gebruiker gedefinieerde hulpprogramma's te beheren. U kunt dit proces echter niet gebruiken als uw toepassingsobject niet is afgeleid van CWinAppEx-klasse. Zie Aanpassing voor MFC voor meer informatie over aanpassing.
Als u ondersteuning voor door de gebruiker gedefinieerde hulpprogramma's hebt ingeschakeld, bevat het dialoogvenster Aanpassing automatisch het tabblad Extra . In de volgende afbeelding ziet u de pagina Extra .
Tabblad Hulpmiddelen voor aanpassing
Ondersteuning voor door de gebruiker gedefinieerde hulpprogramma's inschakelen
Als u door de gebruiker gedefinieerde hulpprogramma's in een toepassing wilt inschakelen, roept u CWinAppEx::EnableUserTools aan. U moet echter eerst verschillende constanten definiëren in de resourcebestanden van uw toepassing om te gebruiken als parameters voor deze aanroep.
Maak in de resource-editor een dummy-opdracht die een geschikte opdracht-id gebruikt. In het volgende voorbeeld gebruiken ID_TOOLS_ENTRY we deze als opdracht-id. Deze opdracht-id markeert een locatie in een of meer menu's waarin het framework de door de gebruiker gedefinieerde hulpprogramma's invoegt.
U moet enkele opeenvolgende id's in de tekenreekstabel opzij zetten om de door de gebruiker gedefinieerde hulpprogramma's weer te geven. Het aantal tekenreeksen dat u opgeeft, is gelijk aan het maximum aantal gebruikershulpprogramma's dat de gebruikers kunnen definiëren. In het volgende voorbeeld worden deze genoemd ID_USER_TOOL1 tot en met ID_USER_TOOL10.
U kunt suggesties aanbieden aan de gebruikers om hen te helpen mappen en argumenten te selecteren voor de externe programma's die worden aangeroepen als hulpprogramma's. Hiervoor maakt u twee pop-upmenu's in de resource-editor. In het volgende voorbeeld zijn deze benoemd IDR_MENU_ARGS en IDR_MENU_DIRS. Definieer voor elke opdracht in deze menu's een tekenreeks in de tekenreeksetabel van de applicatie. De resource-ID van de tekststring moet gelijk zijn aan de opdracht-ID.
U kunt ook een afgeleide klasse maken van CUserTool Class om de standaardimplementatie te vervangen. Hiervoor geeft u de runtime-informatie voor uw afgeleide klasse door als de vierde parameter in CWinAppEx::EnableUserTools, in plaats van RUNTIME_CLASS(CUserTool-klasse).
Nadat u de juiste constanten hebt gedefinieerd, roept u CWinAppEx::EnableUserTools aan om door de gebruiker gedefinieerde hulpprogramma's in te schakelen.
In de volgende methode-aanroep ziet u hoe u deze constanten gebruikt:
EnableUserTools(ID_TOOLS_ENTRY,
ID_USER_TOOL1,
ID_USER_TOOL10,
RUNTIME_CLASS(CUserTool),
IDR_MENU_ARGS,
IDR_MENU_DIRS);
In dit voorbeeld wordt het tabblad Hulpmiddelen opgenomen in het dialoogvenster Aanpassing . Het framework vervangt elke opdracht die overeenkomt met de opdracht-id ID_TOOLS_ENTRY in een menu met de set momenteel gedefinieerde gebruikershulpprogramma's wanneer een gebruiker dat menu opent. De opdracht-id's ID_USER_TOOL1ID_USER_TOOL10 zijn gereserveerd voor gebruik voor door de gebruiker gedefinieerde hulpprogramma's. De klasse CUserTool Class verwerkt aanroepen naar de gebruikershulpprogramma's. Het tabblad Hulpmiddel van het dialoogvenster Aanpassing bevat knoppen rechts van het argument- en mapinvoerveld voor toegang tot de menu's IDR_MENU_ARGS en IDR_MENU_DIRS. Wanneer een gebruiker een opdracht in een van deze menu's selecteert, voegt het framework toe aan het juiste tekstvak de tekenreeks met de resource-id die gelijk is aan de opdracht-id.
Vooraf gedefinieerde hulpprogramma's opnemen
Als u bepaalde hulpprogramma's voor het opstarten van de toepassing vooraf wilt instellen, moet u de CFrameWnd::LoadFrame-methode van het hoofdvenster van uw toepassing overschrijven. In deze methode moet u de volgende stappen uitvoeren.
Nieuwe hulpprogramma's toevoegen in LoadFrame
Verwijs een aanwijzer naar het klasseobject CUserToolsManager door CWinAppEx::GetUserToolsManager aan te roepen.
Voor elk hulpprogramma dat u wilt maken, roept u CUserToolsManager::CreateNewTool aan. Deze methode retourneert een aanwijzer naar een CUserTool Class-object en voegt het zojuist gemaakte gebruikershulpprogramma toe aan de interne verzameling hulpprogramma's. Als u de runtime-informatie hebt opgegeven voor een afgeleide klasse van CUserTool Class als de vierde parameter van CWinAppEx::EnableUserTools, zal CUserToolsManager::CreateNewTool in plaats daarvan een instantie van die klasse instantiëren en retourneren.
Stel voor elk hulpprogramma het tekstlabel in door het in te stellen
CUserTool::m_strLabelen de opdracht ervan in te stellen door aan te roepenCUserTool::SetCommand. De standaardimplementatie van CUserTool Class haalt automatisch beschikbare pictogrammen op uit het programma dat is opgegeven in de aanroep naarSetCommand.
Zie ook
Aanpassing voor MFC
Klasse CUserTool
Klasse CUserToolsManager
CWinAppEx-klasse