CCmdUI-osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Csak egy ON_UPDATE_COMMAND_UI -származtatott osztály kezelőjében CCmdTargethasználható.

Szemantika

class CCmdUI

Tagok

Nyilvános metódusok

Név Description
CCmdUI::ContinueRouting Utasítja a parancs-útválasztási mechanizmust, hogy folytassa az aktuális üzenet irányítását a kezelők láncán.
CCmdUI::Enable Engedélyezi vagy letiltja a parancs felhasználói felületi elemét.
CCmdUI::SetCheck A parancs felhasználói felületi elemének ellenőrzési állapotát állítja be.
CCmdUI::SetRadio SetCheck A tagfüggvényhez hasonlóan, de rádiócsoportokban működik.
CCmdUI::SetText Beállítja a parancs felhasználói felületi elemének szövegét.

Nyilvános adatok tagjai

Név Description
CCmdUI::m_nID A felhasználói felület objektum azonosítója.
CCmdUI::m_nIndex A felhasználói felület objektum indexe.
CCmdUI::m_pMenu Az objektum által CCmdUI képviselt menüre mutat.
CCmdUI::m_pOther Az értesítést küldő ablakobjektumra mutat.
CCmdUI::m_pSubMenu Az objektum által CCmdUI képviselt tartalmazott almenüre mutat.

Megjegyzések

CCmdUI nem rendelkezik alaposztálysal.

Amikor az alkalmazás egy felhasználója lekéri a menüt, minden menüelemnek tudnia kell, hogy engedélyezve vagy letiltva legyen-e. A menüparancs célja ezt az információt egy ON_UPDATE_COMMAND_UI kezelő implementálásával adja meg. Az alkalmazásban található összes parancs felhasználói felületi objektumához az Osztályvarázsló vagy a Tulajdonságok ablak ( Osztály nézetben) használatával hozzon létre egy üzenettérkép-bejegyzést és függvény prototípust az egyes kezelőkhöz.

A menü lekérésekor a keretrendszer megkeresi és meghívja az egyes ON_UPDATE_COMMAND_UI kezelőket, minden kezelő meghívja CCmdUI a tagfüggvényeket, például Enable és Check, majd a keretrendszer megfelelően megjeleníti az egyes menüelemeket.

A menüelemek lecserélhetők vezérlősáv-gombbal vagy más parancs felhasználói felületi objektummal anélkül, hogy módosítanák a kódot a ON_UPDATE_COMMAND_UI kezelőn belül.

Az alábbi táblázat összefoglalja, hogy a tagfüggvények milyen hatással CCmdUIvannak a parancs felhasználói felületének különböző elemeire.

User-Interface elem Enable Jelölőnégyzet beállítása SetRadio Szöveg beállítása
Menüpont Engedélyezi vagy letiltja Ellenőrzések vagy jelölések törlése Ponttal végzett ellenőrzések Elem szövegének beállítása
Eszköztár gomb Engedélyezi vagy letiltja Kiválasztás, kijelölés megszüntetése vagy határozatlan Akárcsak SetCheck (Nem alkalmazható)
Állapotsor panel A szöveg láthatóvá vagy láthatatlanná válik Előugró vagy normál szegély beállítása Akárcsak SetCheck Ablaktábla szövegének beállítása
Normál gomb a következőben: CDialogBar Engedélyezi vagy letiltja Jelölőnégyzet ellenőrzése vagy törlése Akárcsak SetCheck A Beállítás gomb szövege
Normál vezérlés a következőben: CDialogBar Engedélyezi vagy letiltja (Nem alkalmazható) (Nem alkalmazható) Ablak szövegének beállítása

Az osztály használatáról további információt az User-Interface objektumok frissítése című témakörben talál.

Öröklési hierarchia

CCmdUI

Requirements

Fejléc: afxwin.h

CCmdUI::ContinueRouting

Hívja meg ezt a tagfüggvényt, hogy kérje meg a parancs-útválasztási mechanizmust, hogy folytassa az aktuális üzenet irányítását a kezelők láncán.

void ContinueRouting();

Megjegyzések

Ez egy speciális tagfüggvény, amelyet egy HAMIS értéket visszaadó ON_COMMAND_EX kezelővel együtt kell használni. További információ: Technical Note 6.

CCmdUI::Enable

Hívja meg ezt a tagfüggvényt a parancs felhasználói felületi elemének engedélyezéséhez vagy letiltásához.

virtual void Enable(BOOL bOn = TRUE);

Paraméterek

Bon
TRUE (IGAZ) az elem engedélyezéséhez, false (HAMIS) a letiltásához.

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

A menüelem, az eszköztár gomb vagy az CCmdUI objektum által képviselt egyéb felhasználói felületi objektum azonosítója.

UINT m_nID;

CCmdUI::m_nIndex

A menüelem, az eszköztár gomb vagy az objektum által képviselt egyéb felhasználói felületi objektum indexe CCmdUI .

UINT m_nIndex;

CCmdUI::m_pMenu

Mutató (típus CMenu ) az objektum által képviselt menüre CCmdUI .

CMenu* m_pMenu;

Megjegyzések

NULL érték, ha az elem nem menü.

CCmdUI::m_pSubMenu

Mutató (típus CMenu ) az objektum által képviselt tartalmazott almenüre CCmdUI .

CMenu* m_pSubMenu;

Megjegyzések

NULL érték, ha az elem nem menü. Ha az almenü előugró ablak, m_nID az előugró menü első elemének azonosítóját tartalmazza. További információ: Technical Note 21.

CCmdUI::m_pOther

Az értesítést küldő ablakobjektumra mutató mutató ( CWndpéldául eszköz vagy állapotsor).

CWnd* m_pOther;

Megjegyzések

NULL érték, ha az elem menü vagy nem CWnd objektum.

CCmdUI::SetCheck

Ennek a tagfüggvénynek a meghívásával állítsa a parancs felhasználói felületi elemét a megfelelő ellenőrzési állapotra.

virtual void SetCheck(int nCheck = 1);

Paraméterek

nCheck
Megadja a beállítani kívánt ellenőrzési állapotot. Ha 0, törölje a jelölést; ha 1, ellenőrzi; és ha 2, határozatlan értéket állít be.

Megjegyzések

Ez a tagfüggvény menüelemekhez és eszköztárgombokhoz használható. A meghatározatlan állapot csak az eszköztárgombokra vonatkozik.

CCmdUI::SetRadio

Ennek a tagfüggvénynek a meghívásával állítsa a parancs felhasználói felületi elemét a megfelelő ellenőrzési állapotra.

virtual void SetRadio(BOOL bOn = TRUE);

Paraméterek

Bon
IGAZ az elem engedélyezéséhez; egyéb esetben HAMIS.

Megjegyzések

Ez a tagfüggvény a következőképpen SetCheckműködik, kivéve, hogy a rádiócsoport részeként működő felhasználói felületi elemeken működik. A csoport többi elemének jelölésének törlése nem automatikus, hacsak maguk az elemek nem tartják fenn a rádiócsoport viselkedését.

CCmdUI::SetText

Hívja meg ezt a tagfüggvényt a parancs felhasználói felületi elemének szövegének beállításához.

virtual void SetText(LPCTSTR lpszText);

Paraméterek

lpszText
Mutató egy szöveges sztringre.

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

Lásd még

MFC-minta MDI
hierarchiadiagram
CCmdTarget osztály