Klasa CCmdUI
Jest używany tylko w ON_UPDATE_COMMAND_UI
ramach programu obsługi w klasie -pochodnej CCmdTarget
.
Składnia
class CCmdUI
Elementy członkowskie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CCmdUI::ContinueRouting | Informuje mechanizm routingu poleceń, aby kontynuować kierowanie bieżącego komunikatu w dół łańcucha procedur obsługi. |
CCmdUI::Enable | Włącza lub wyłącza element interfejsu użytkownika dla tego polecenia. |
CCmdUI::SetCheck | Ustawia stan sprawdzania elementu interfejsu użytkownika dla tego polecenia. |
CCmdUI::SetRadio | SetCheck Podobnie jak funkcja składowa, ale działa w grupach radiowych. |
CCmdUI::SetText | Ustawia tekst elementu interfejsu użytkownika dla tego polecenia. |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
CCmdUI::m_nID | Identyfikator obiektu interfejsu użytkownika. |
CCmdUI::m_nIndex | Indeks obiektu interfejsu użytkownika. |
CCmdUI::m_pMenu | Wskazuje menu reprezentowane CCmdUI przez obiekt. |
CCmdUI::m_pOther | Wskazuje obiekt okna, który wysłał powiadomienie. |
CCmdUI::m_pSubMenu | Wskazuje zawarte podrzędne menu reprezentowane CCmdUI przez obiekt. |
Uwagi
CCmdUI
nie ma klasy bazowej.
Gdy użytkownik aplikacji ściąga menu, każdy element menu musi wiedzieć, czy powinien być wyświetlany jako włączony, czy wyłączony. Obiekt docelowy polecenia menu zawiera te informacje, implementując program obsługi ON_UPDATE_COMMAND_UI. Dla każdego obiektu interfejsu użytkownika polecenia w aplikacji użyj Kreatora klas lub okna Właściwości (w widoku klasy), aby utworzyć wpis mapy komunikatów i prototyp funkcji dla każdego programu obsługi.
Po ściągnięciu menu platforma wyszukuje i wywołuje każdą procedurę obsługi ON_UPDATE_COMMAND_UI, każda procedura obsługi wywołuje CCmdUI
funkcje składowe, takie jak Enable
i Check
, a następnie platforma odpowiednio wyświetla każdy element menu.
Element menu można zastąpić przyciskiem paska sterowania lub innym obiektem interfejsu użytkownika polecenia bez zmiany kodu w ON_UPDATE_COMMAND_UI
programie obsługi.
W poniższej tabeli przedstawiono podsumowanie wpływu CCmdUI
funkcji składowych na różne elementy interfejsu użytkownika polecenia.
Element interfejsu użytkownika | Włącz | SetCheck | SetRadio | SetText |
---|---|---|---|---|
Element menu | Włącza lub wyłącza | Sprawdzanie lub usuwanie zaznaczeń | Sprawdzanie przy użyciu kropki | Ustawia tekst elementu |
Przycisk paska narzędzi | Włącza lub wyłącza | Wybiera, usuwa zaznaczenie lub nieokreślone | Tak samo jak SetCheck |
(Nie dotyczy) |
Okienko paska stanu | Sprawia, że tekst jest widoczny lub niewidoczny | Ustawia wyskakujące okienko lub normalne obramowanie | Tak samo jak SetCheck |
Tekst okienka zestawów |
Normalny przycisk w CDialogBar |
Włącza lub wyłącza | Sprawdzanie lub usuwanie zaznaczenia pola wyboru | Tak samo jak SetCheck |
Ustawia tekst przycisku |
Normalna kontrolka w CDialogBar |
Włącza lub wyłącza | (Nie dotyczy) | (Nie dotyczy) | Ustawia tekst okna |
Aby uzyskać więcej informacji na temat korzystania z tej klasy, zobacz Jak zaktualizować obiekty interfejsu użytkownika.
Hierarchia dziedziczenia
CCmdUI
Wymagania
Nagłówek: afxwin.h
CCmdUI::ContinueRouting
Wywołaj tę funkcję składową, aby poinformować mechanizm routingu poleceń, aby kontynuować kierowanie bieżącego komunikatu w dół łańcucha procedur obsługi.
void ContinueRouting();
Uwagi
Jest to zaawansowana funkcja składowa, która powinna być używana w połączeniu z programem obsługi ON_COMMAND_EX, która zwraca wartość FALSE. Aby uzyskać więcej informacji, zobacz Technical Note 6 (Uwaga techniczna 6).
CCmdUI::Enable
Wywołaj tę funkcję składową, aby włączyć lub wyłączyć element interfejsu użytkownika dla tego polecenia.
virtual void Enable(BOOL bOn = TRUE);
Parametry
Bon
Wartość TRUE, aby włączyć element, wartość FALSE, aby ją wyłączyć.
Przykład
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
Identyfikator elementu menu, przycisku paska narzędzi lub innego obiektu interfejsu użytkownika reprezentowanego CCmdUI
przez obiekt.
UINT m_nID;
CCmdUI::m_nIndex
Indeks elementu menu, przycisku paska narzędzi lub innego obiektu interfejsu użytkownika reprezentowanego CCmdUI
przez obiekt.
UINT m_nIndex;
CCmdUI::m_pMenu
Wskaźnik (typ CMenu
) do menu reprezentowanego CCmdUI
przez obiekt.
CMenu* m_pMenu;
Uwagi
Wartość NULL, jeśli element nie jest menu.
CCmdUI::m_pSubMenu
Wskaźnik ( CMenu
typu) do zawartego podmenu reprezentowanego CCmdUI
przez obiekt.
CMenu* m_pSubMenu;
Uwagi
Wartość NULL, jeśli element nie jest menu. Jeśli menu podrzędne jest wyskakujące, m_nID zawiera identyfikator pierwszego elementu w menu podręcznym. Aby uzyskać więcej informacji, zobacz Technical Note 21 (Uwaga techniczna 21).
CCmdUI::m_pOther
Wskaźnik (typ CWnd
) do obiektu okna, takiego jak narzędzie lub pasek stanu, który wysłał powiadomienie.
CWnd* m_pOther;
Uwagi
WARTOŚĆ NULL, jeśli element jest menu lub obiektem innym CWnd
niż.
CCmdUI::SetCheck
Wywołaj tę funkcję składową, aby ustawić element interfejsu użytkownika dla tego polecenia na odpowiedni stan sprawdzania.
virtual void SetCheck(int nCheck = 1);
Parametry
nZnacz
Określa stan sprawdzania, który ma być ustawiony. Jeśli wartość 0, usuń zaznaczenie; jeśli 1, sprawdza; a jeśli 2, ustawia nieokreślone.
Uwagi
Ta funkcja składowa działa w przypadku elementów menu i przycisków paska narzędzi. Nieokreślony stan dotyczy tylko przycisków paska narzędzi.
CCmdUI::SetRadio
Wywołaj tę funkcję składową, aby ustawić element interfejsu użytkownika dla tego polecenia na odpowiedni stan sprawdzania.
virtual void SetRadio(BOOL bOn = TRUE);
Parametry
Bon
WARTOŚĆ TRUE, aby włączyć element; w przeciwnym razie FAŁSZ.
Uwagi
Ta funkcja składowa działa jak SetCheck
, z tą różnicą, że działa na elementach interfejsu użytkownika działających jako część grupy radiowej. Usunięcie zaznaczenia innych elementów w grupie nie jest automatyczne, chyba że same elementy zachowują zachowanie grupy radiowej.
CCmdUI::SetText
Wywołaj tę funkcję składową, aby ustawić tekst elementu interfejsu użytkownika dla tego polecenia.
virtual void SetText(LPCTSTR lpszText);
Parametry
lpszText
Wskaźnik do ciągu tekstowego.
Przykład
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);
}