Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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);
}