Bagikan melalui


Kelas CCmdUI

Hanya digunakan dalam ON_UPDATE_COMMAND_UI handler di CCmdTargetkelas -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 CCmdUIyang 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);
}

Baca juga

MFC Sampel MDI
Bagan Hierarki
Kelas CCmdTarget