CCmdUI Sınıfı
Yalnızca türetilmiş bir ON_UPDATE_COMMAND_UI
sınıftaki bir CCmdTarget
işleyici içinde kullanılır.
Sözdizimi
class CCmdUI
Üyeler
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CCmdUI::ContinueRouting | Komut yönlendirme mekanizmasına geçerli iletiyi işleyiciler zincirine yönlendirmeye devam edeceğini bildirir. |
CCmdUI::Enable | Bu komut için kullanıcı arabirimi öğesini etkinleştirir veya devre dışı bırakır. |
CCmdUI::SetCheck | Bu komut için kullanıcı arabirimi öğesinin denetim durumunu ayarlar. |
CCmdUI::SetRadio | SetCheck Üye işlevi gibi, ancak radyo gruplarında çalışır. |
CCmdUI::SetText | Bu komut için kullanıcı arabirimi öğesinin metnini ayarlar. |
Ortak Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CCmdUI::m_nID | Kullanıcı arabirimi nesnesinin kimliği. |
CCmdUI::m_nIndex | Kullanıcı arabirimi nesnesinin dizini. |
CCmdUI::m_pMenu | Nesne tarafından temsil edilen menüyü CCmdUI gösterir. |
CCmdUI::m_pOther | Bildirimi gönderen pencere nesnesini gösterir. |
CCmdUI::m_pSubMenu | Nesne tarafından temsil edilen kapsanan alt menüyü CCmdUI gösterir. |
Açıklamalar
CCmdUI
temel sınıfına sahip değildir.
Uygulamanızın bir kullanıcısı menüyü aşağı çektiğinde, her menü öğesinin etkin olarak mı yoksa devre dışı olarak mı görüntüleneceğini bilmesi gerekir. Menü komutunun hedefi, bir ON_UPDATE_COMMAND_UI işleyicisi uygulayarak bu bilgileri sağlar. Uygulamanızdaki komut kullanıcı arabirimi nesnelerinin her biri için, her işleyici için bir ileti eşleme girdisi ve işlev prototipi oluşturmak için Sınıf Sihirbazı'nı veya Özellikler penceresini (Sınıf Görünümünde) kullanın.
Menü aşağı çekildiğinde, çerçeve her ON_UPDATE_COMMAND_UI işleyicisini arar ve çağırır, her işleyici ve Check
gibi Enable
üye işlevlerini çağırır CCmdUI
ve ardından çerçeve her menü öğesini uygun şekilde görüntüler.
Bir menü öğesi, işleyici içindeki ON_UPDATE_COMMAND_UI
kodu değiştirmeden bir denetim çubuğu düğmesi veya başka bir komut kullanıcı arabirimi nesnesiyle değiştirilebilir.
Aşağıdaki tabloda üye işlevlerinin çeşitli komut kullanıcı arabirimi öğeleri üzerindeki etkisi CCmdUI
özetlenmiştir.
Kullanıcı Arabirimi Öğesi | Etkinleştir | SetCheck | SetRadio | SetText |
---|---|---|---|---|
Menü Öğesi | Etkinleştirir veya devre dışı bırakır | Denetimler veya işaretlerini kaldırma | Nokta kullanarak denetimler | Öğe metnini ayarlar |
Araç Çubuğu düğmesi | Etkinleştirir veya devre dışı bırakır | Seçer, seçimini kaldırır veya belirsiz | Aynı SetCheck |
(Uygulanamaz) |
Durum çubuğu bölmesi | Metni görünür veya görünmez yapar | Açılır veya normal kenarlık ayarlar | Aynı SetCheck |
Bölme metnini ayarlar |
normal düğmesi CDialogBar |
Etkinleştirir veya devre dışı bırakır | Onay kutusunu denetler veya işaretini kaldırır | Aynı SetCheck |
Ayarlar düğmesi metni |
içinde normal denetim CDialogBar |
Etkinleştirir veya devre dışı bırakır | (Uygulanamaz) | (Uygulanamaz) | Pencere metnini ayarlar |
Bu sınıfın kullanımı hakkında daha fazla bilgi için bkz . Kullanıcı Arabirimi Nesnelerini Güncelleştirme.
Devralma Hiyerarşisi
CCmdUI
Gereksinimler
Üst bilgi: afxwin.h
CCmdUI::ContinueRouting
Komut yönlendirme mekanizmasına geçerli iletiyi işleyiciler zincirine yönlendirmeye devam etmesi için bu üye işlevini çağırın.
void ContinueRouting();
Açıklamalar
Bu, FALSE döndüren bir ON_COMMAND_EX işleyicisi ile birlikte kullanılması gereken gelişmiş bir üye işlevidir. Daha fazla bilgi için bkz . Teknik Not 6.
CCmdUI::Enable
Bu komut için kullanıcı arabirimi öğesini etkinleştirmek veya devre dışı bırakmak için bu üye işlevini çağırın.
virtual void Enable(BOOL bOn = TRUE);
Parametreler
Bon
Öğeyi etkinleştirmek için TRUE, devre dışı bırakmak için YANLIŞ.
Örnek
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
Nesne tarafından temsil edilen menü öğesinin, araç çubuğu düğmesinin veya diğer kullanıcı arabirimi nesnesinin CCmdUI
kimliği.
UINT m_nID;
CCmdUI::m_nIndex
Menü öğesinin, araç çubuğu düğmesinin veya nesne tarafından temsil edilen diğer kullanıcı arabirimi nesnesinin CCmdUI
dizini.
UINT m_nIndex;
CCmdUI::m_pMenu
Nesne tarafından CMenu
temsil edilen menüye işaretçi (türü).CCmdUI
CMenu* m_pMenu;
Açıklamalar
Öğe bir menü değilse NULL.
CCmdUI::m_pSubMenu
Nesne tarafından CMenu
temsil edilen kapsanan alt menünün işaretçisi (türü).CCmdUI
CMenu* m_pSubMenu;
Açıklamalar
Öğe bir menü değilse NULL. Alt menü bir açılır menüyse, m_nID açılır menüdeki ilk öğenin kimliğini içerir. Daha fazla bilgi için bkz . Teknik Not 21.
CCmdUI::m_pOther
Bildirimi gönderen araç veya durum çubuğu gibi pencere nesnesine işaretçi (türünde CWnd
).
CWnd* m_pOther;
Açıklamalar
Öğe bir menüyse veya nesne değilse CWnd
NULL.
CCmdUI::SetCheck
Bu komutun kullanıcı arabirimi öğesini uygun denetim durumuna ayarlamak için bu üye işlevini çağırın.
virtual void SetCheck(int nCheck = 1);
Parametreler
nCheck
Ayarlanacağı denetim durumunu belirtir. 0 ise, işaretini kaldırır; 1 ise, denetler; ve 2 ise, belirsiz ayarlar.
Açıklamalar
Bu üye işlevi, menü öğeleri ve araç çubuğu düğmeleri için çalışır. Belirsiz durum yalnızca araç çubuğu düğmeleri için geçerlidir.
CCmdUI::SetRadio
Bu komutun kullanıcı arabirimi öğesini uygun denetim durumuna ayarlamak için bu üye işlevini çağırın.
virtual void SetRadio(BOOL bOn = TRUE);
Parametreler
Bon
Öğeyi etkinleştirmek için TRUE; aksi takdirde YANLIŞ.
Açıklamalar
Bu üye işlevi, bir radyo grubunun parçası olarak hareket eden kullanıcı arabirimi öğeleri üzerinde çalışması dışında gibi SetCheck
çalışır. Öğelerin kendisi radyo grubu davranışını korumadığı sürece gruptaki diğer öğelerin işaretini kaldırmak otomatik değildir.
CCmdUI::SetText
Bu komutun kullanıcı arabirimi öğesinin metnini ayarlamak için bu üye işlevini çağırın.
virtual void SetText(LPCTSTR lpszText);
Parametreler
lpszText
Metin dizesi işaretçisi.
Örnek
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);
}