Udostępnij za pośrednictwem


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

Zobacz też

Przykładowe mdI MFC
Wykres hierarchii
Klasa CCmdTarget