Kelas CCmdUI
Hanya digunakan dalam ON_UPDATE_COMMAND_UI
handler di CCmdTarget
kelas -turunan.
Sintaks
class CCmdUI
Anggota
Metode Publik
Nama | Deskripsi |
---|---|
CCmdUI::ContinueRouting | Memberi tahu mekanisme perutean perintah untuk terus merutekan pesan saat ini ke rantai handler. |
CCmdUI::Aktifkan | Mengaktifkan atau menonaktifkan item antarmuka pengguna untuk perintah ini. |
CCmdUI::SetCheck | Mengatur status pemeriksaan item antarmuka pengguna untuk perintah ini. |
CCmdUI::SetRadio | SetCheck Seperti fungsi anggota, tetapi beroperasi pada grup radio. |
CCmdUI::SetText | Mengatur teks untuk item antarmuka pengguna untuk perintah ini. |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CCmdUI::m_nID | ID objek antarmuka pengguna. |
CCmdUI::m_nIndex | Indeks objek antarmuka pengguna. |
CCmdUI::m_pMenu | Menunjuk ke menu yang CCmdUI diwakili oleh objek. |
CCmdUI::m_pOther | Menunjuk ke objek jendela yang mengirim pemberitahuan. |
CCmdUI::m_pSubMenu | Arahkan ke sub-menu yang terkandung yang diwakili oleh CCmdUI objek. |
Keterangan
CCmdUI
tidak memiliki kelas dasar.
Saat pengguna aplikasi Anda menarik menu, setiap item menu perlu mengetahui apakah harus ditampilkan sebagai diaktifkan atau dinonaktifkan. Target perintah menu menyediakan informasi ini dengan menerapkan handler ON_UPDATE_COMMAND_UI. Untuk setiap objek antarmuka pengguna perintah di aplikasi Anda, gunakan jendela Wizard Kelas atau Properti (dalam Tampilan Kelas) untuk membuat entri peta pesan dan prototipe fungsi untuk setiap handler.
Saat menu ditarik ke bawah, kerangka kerja mencari dan memanggil setiap handler ON_UPDATE_COMMAND_UI, setiap handler memanggil CCmdUI
fungsi anggota seperti Enable
dan Check
, dan kerangka kerja kemudian menampilkan setiap item menu dengan tepat.
Item menu dapat diganti dengan tombol bilah kontrol atau objek antarmuka pengguna perintah lainnya tanpa mengubah kode dalam ON_UPDATE_COMMAND_UI
handler.
Tabel berikut ini meringkas efek CCmdUI
yang dimiliki fungsi anggota pada berbagai item antarmuka pengguna perintah.
Item Antarmuka Pengguna | Aktifkan | SetCheck | SetRadio | SetText |
---|---|---|---|---|
Item menu | Mengaktifkan atau menonaktifkan | Memeriksa atau menghapus centang | Memeriksa menggunakan titik | Mengatur teks item |
Tombol toolbar | Mengaktifkan atau menonaktifkan | Memilih, membatalkan pilihan, atau tidak ditentukan | Sama seperti SetCheck |
(Tidak berlaku) |
Panel bilah status | Membuat teks terlihat atau tidak terlihat | Mengatur batas pop-out atau normal | Sama seperti SetCheck |
Mengatur teks panel |
Tombol normal di CDialogBar |
Mengaktifkan atau menonaktifkan | Kotak centang centang atau hapus centang | Sama seperti SetCheck |
Mengatur teks tombol |
Kontrol normal di CDialogBar |
Mengaktifkan atau menonaktifkan | (Tidak berlaku) | (Tidak berlaku) | Mengatur teks jendela |
Untuk informasi selengkapnya tentang penggunaan kelas ini, lihat Cara Memperbarui Objek Antarmuka Pengguna.
Hierarki Warisan
CCmdUI
Persyaratan
Header: afxwin.h
CCmdUI::ContinueRouting
Panggil fungsi anggota ini untuk memberi tahu mekanisme perutean perintah untuk terus merutekan pesan saat ini ke rantai handler.
void ContinueRouting();
Keterangan
Ini adalah fungsi anggota tingkat lanjut yang harus digunakan bersama dengan handler ON_COMMAND_EX yang mengembalikan FALSE. Untuk informasi selengkapnya, lihat Catatan Teknis 6.
CCmdUI::Aktifkan
Panggil fungsi anggota ini untuk mengaktifkan atau menonaktifkan item antarmuka pengguna untuk perintah ini.
virtual void Enable(BOOL bOn = TRUE);
Parameter
Bon
TRUE untuk mengaktifkan item, FALSE untuk menonaktifkannya.
Contoh
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
ID item menu, tombol toolbar, atau objek antarmuka pengguna lainnya yang CCmdUI
diwakili oleh objek.
UINT m_nID;
CCmdUI::m_nIndex
Indeks item menu, tombol toolbar, atau objek antarmuka pengguna lainnya yang CCmdUI
diwakili oleh objek.
UINT m_nIndex;
CCmdUI::m_pMenu
Penunjuk (jenis CMenu
) ke menu yang diwakili oleh CCmdUI
objek.
CMenu* m_pMenu;
Keterangan
NULL jika item bukan menu.
CCmdUI::m_pSubMenu
Penunjuk (jenis CMenu
) ke sub-menu yang terkandung yang diwakili oleh CCmdUI
objek.
CMenu* m_pSubMenu;
Keterangan
NULL jika item bukan menu. Jika sub menu adalah pop-up, m_nID berisi ID item pertama di menu pop-up. Untuk informasi selengkapnya, lihat Catatan Teknis 21.
CCmdUI::m_pOther
Penunjuk (jenis CWnd
) ke objek jendela, seperti alat atau bilah status, yang mengirim pemberitahuan.
CWnd* m_pOther;
Keterangan
NULL jika item adalah menu atau non-objek CWnd
.
CCmdUI::SetCheck
Panggil fungsi anggota ini untuk mengatur item antarmuka pengguna untuk perintah ini ke status pemeriksaan yang sesuai.
virtual void SetCheck(int nCheck = 1);
Parameter
nCheck
Menentukan status pemeriksaan yang akan diatur. Jika 0, hapus centang; jika 1, periksa; dan jika 2, set tidak ditentukan.
Keterangan
Fungsi anggota ini berfungsi untuk item menu dan tombol bilah alat. Status yang tidak ditentukan hanya berlaku untuk tombol toolbar.
CCmdUI::SetRadio
Panggil fungsi anggota ini untuk mengatur item antarmuka pengguna untuk perintah ini ke status pemeriksaan yang sesuai.
virtual void SetRadio(BOOL bOn = TRUE);
Parameter
Bon
TRUE untuk mengaktifkan item; jika tidak FALSE.
Keterangan
Fungsi anggota ini beroperasi seperti SetCheck
, kecuali beroperasi pada item antarmuka pengguna yang bertindak sebagai bagian dari grup radio. Menghapus centang item lain dalam grup tidak otomatis kecuali item itu sendiri mempertahankan perilaku grup radio.
CCmdUI::SetText
Panggil fungsi anggota ini untuk mengatur teks item antarmuka pengguna untuk perintah ini.
virtual void SetText(LPCTSTR lpszText);
Parameter
lpszText
Penunjuk ke string teks.
Contoh
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);
}