Share via


CCmdUI-klasse

Opmerking

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

Wordt alleen in een ON_UPDATE_COMMAND_UI handler in een CCmdTarget-afgeleide klasse gebruikt.

Syntaxis

class CCmdUI

Leden

Openbare methoden

Naam Description
CCmdUI::ContinueRouting Vertelt het mechanisme voor opdrachtroutering om door te gaan met het routeren van het huidige bericht in de keten van handlers.
CCmdUI::Enable Hiermee schakelt u het gebruikersinterface-item voor deze opdracht in of uit.
CCmdUI::SetCheck Hiermee stelt u de controlestatus van het gebruikersinterface-item voor deze opdracht in.
CCmdUI::SetRadio Net als de SetCheck lidfunctie, maar werkt op radiogroepen.
CCmdUI::SetText Hiermee stelt u de tekst in voor het gebruikersinterface-item voor deze opdracht.

Leden van openbare gegevens

Naam Description
CCmdUI::m_nID De id van het gebruikersinterfaceobject.
CCmdUI::m_nIndex De index van het gebruikersinterfaceobject.
CCmdUI::m_pMenu Verwijst naar het menu dat wordt vertegenwoordigd door het CCmdUI object.
CCmdUI::m_pOther Verwijst naar het vensterobject dat de melding heeft verzonden.
CCmdUI::m_pSubMenu Verwijst naar het ingesloten submenu dat wordt vertegenwoordigd door het CCmdUI object.

Opmerkingen

CCmdUI heeft geen basisklasse.

Wanneer een gebruiker van uw toepassing een menu omlaag haalt, moet elke menuopdracht weten of deze moet worden weergegeven als ingeschakeld of uitgeschakeld. Het doel van een menuopdracht biedt deze informatie door een ON_UPDATE_COMMAND_UI handler te implementeren. Voor elk van de gebruikersinterfaceobjecten van de opdracht in uw toepassing gebruikt u de wizard Klasse of het venster Eigenschappen (in klasseweergave) om een berichtkaartinvoer en functieprototype voor elke handler te maken.

Wanneer het menu wordt uitgezocht, zoekt en roept het framework elke ON_UPDATE_COMMAND_UI handler aan, roept elke handler CCmdUI lidfuncties aan, zoals Enable en Check, en het framework geeft vervolgens op de juiste manier elk menu-item weer.

Een menu-item kan worden vervangen door een besturingsbalkknop of een ander opdrachtobject van de gebruikersinterface zonder de code in de ON_UPDATE_COMMAND_UI handler te wijzigen.

In de volgende tabel ziet u een overzicht van het effect CCmdUIvan de lidfuncties van verschillende opdrachten voor gebruikersinterface-items.

User-Interface item Enable SetCheck SetRadio TekstInstellen
Menu-item In- of uitschakelen Controles of uitvinken Controles met een punt Itemtekst instellen
Werkbalkknop In- of uitschakelen Selects, unselects, or indeterminate Hetzelfde als SetCheck (Niet van toepassing)
Deelvenster Statusbalk Tekst zichtbaar of onzichtbaar maken Pop-out- of normale rand instellen Hetzelfde als SetCheck Tekst van deelvenster instellen
Knop Normaal in CDialogBar In- of uitschakelen Selectievakje controleren of uitschakelen Hetzelfde als SetCheck Knoptekst instellen
Normaal besturingselement in CDialogBar In- of uitschakelen (Niet van toepassing) (Niet van toepassing) Venstertekst instellen

Zie User-Interface-objecten bijwerken voor meer informatie over het gebruik van deze klasse.

Overnamehiƫrarchie

CCmdUI

Requirements

Koptekst: afxwin.h

CCmdUI::ContinueRouting

Roep deze lidfunctie aan om het opdrachtrouteringsmechanisme door te geven om door te gaan met het routeren van het huidige bericht in de keten van handlers.

void ContinueRouting();

Opmerkingen

Dit is een geavanceerde lidfunctie die moet worden gebruikt in combinatie met een ON_COMMAND_EX handler die ONWAAR retourneert. Zie Technische opmerking 6 voor meer informatie.

CCmdUI::Enable

Roep deze lidfunctie aan om het gebruikersinterface-item voor deze opdracht in of uit te schakelen.

virtual void Enable(BOOL bOn = TRUE);

Parameterwaarden

Bon
TRUE om het item in te schakelen, FALSE om het uit te schakelen.

Example

ON_UPDATE_COMMAND_UI(ID_FILE_SAVE, &CMyDoc::OnUpdateFileSave)

 

void CMyDoc::OnUpdateFileSave(CCmdUI *pCmdUI)
{
   // Enable the menu item if the file has been modified.
   pCmdUI->Enable(m_bModified);
}

CCmdUI::m_nID

De id van het menu-item, de werkbalkknop of een ander gebruikersinterfaceobject dat wordt vertegenwoordigd door het CCmdUI object.

UINT m_nID;

CCmdUI::m_nIndex

De index van het menu-item, de werkbalkknop of een ander gebruikersinterfaceobject dat wordt vertegenwoordigd door het CCmdUI object.

UINT m_nIndex;

CCmdUI::m_pMenu

Aanwijzer (van CMenu het type) naar het menu dat wordt vertegenwoordigd door het CCmdUI object.

CMenu* m_pMenu;

Opmerkingen

NULL als het item geen menu is.

CCmdUI::m_pSubMenu

Aanwijzer (van het CMenu type) naar het ingesloten submenu dat wordt vertegenwoordigd door het CCmdUI object.

CMenu* m_pSubMenu;

Opmerkingen

NULL als het item geen menu is. Als het submenu een pop-upmenu is, bevat m_nID de id van het eerste item in het snelmenu. Zie Technische opmerking 21 voor meer informatie.

CCmdUI::m_pOther

Aanwijzer (van het type CWnd) naar het vensterobject, zoals een hulpprogramma of statusbalk, die de melding heeft verzonden.

CWnd* m_pOther;

Opmerkingen

NULL als het item een menu of een niet-object CWnd is.

CCmdUI::SetCheck

Roep deze lidfunctie aan om het gebruikersinterface-item voor deze opdracht in te stellen op de juiste controlestatus.

virtual void SetCheck(int nCheck = 1);

Parameterwaarden

nCheck
Hiermee geeft u de controlestatus op die moet worden ingesteld. Als 0, schakelt u het selectievakje uit; indien 1, controleert; en als 2, stelt u onbepaald in.

Opmerkingen

Deze lidfunctie werkt voor menu-items en werkbalkknoppen. De onbepaalde status is alleen van toepassing op werkbalkknoppen.

CCmdUI::SetRadio

Roep deze lidfunctie aan om het gebruikersinterface-item voor deze opdracht in te stellen op de juiste controlestatus.

virtual void SetRadio(BOOL bOn = TRUE);

Parameterwaarden

Bon
WAAR om het item in te schakelen; anders ONWAAR.

Opmerkingen

Deze lidfunctie werkt als SetCheck, behalve dat het werkt op gebruikersinterface-items die fungeren als onderdeel van een radiogroep. Het uitschakelen van de andere items in de groep is niet automatisch, tenzij de items zelf het gedrag van de radiogroep behouden.

CCmdUI::SetText

Roep deze lidfunctie aan om de tekst van het gebruikersinterface-item voor deze opdracht in te stellen.

virtual void SetText(LPCTSTR lpszText);

Parameterwaarden

lpszText
Een aanwijzer naar een tekenreeks.

Example

void CMyRichEditView::OnUpdateLineNumber(CCmdUI *pCmdUI)
{
   int nLine = GetRichEditCtrl().LineFromChar(-1) + 1;

   CString string;
   string.Format(_T("Line %d"), nLine);
   pCmdUI->Enable(TRUE);
   pCmdUI->SetText(string);
}

Zie ook

MFC-voorbeeld MDI
Hiƫrarchiegrafiek
CCmdTarget-klasse