Kelas CMFCMenuButton
Tombol yang menampilkan menu pop-up dan laporan pada pilihan menu pengguna.
Sintaks
class CMFCMenuButton : public CMFCButton
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CMFCMenuButton::CMFCMenuButton | Membuat CMFCMenuButton objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CMFCMenuButton::P reTranslateMessage | Dipanggil oleh kerangka kerja untuk menerjemahkan pesan jendela sebelum dikirim. (Mengambil alih CMFCButton::PreTranslateMessage .) |
CMFCMenuButton::SizeToContent | Mengubah ukuran tombol sesuai dengan ukuran teks dan gambarnya. |
Anggota Data
Nama | Deskripsi |
---|---|
CMFCMenuButton::m_bOSMenu | Menentukan apakah akan menampilkan menu pop-up sistem default atau menggunakan CContextMenuManager::TrackPopupMenu. |
CMFCMenuButton::m_bRightArrow | Menentukan apakah menu pop-up akan muncul di bawah atau di sebelah kanan tombol. |
CMFCMenuButton::m_bStayPressed | Menentukan apakah tombol menu mengubah statusnya setelah pengguna merilis tombol. |
CMFCMenuButton::m_hMenu | Handel ke menu Windows terlampir. |
CMFCMenuButton::m_nMenuResult | Pengidentifikasi yang menunjukkan item mana yang dipilih pengguna dari menu pop-up. |
CMFCMenuButton::m_bDefaultClick | Izinkan pemrosesan default (pada teks/gambar tombol). |
Keterangan
Kelas CMFCMenuButton
ini berasal dari Kelas CMFCButton yang, pada gilirannya, berasal dari Kelas CButton. Oleh karena itu, Anda dapat menggunakan CMFCMenuButton
dalam kode Anda dengan cara yang sama seperti Anda akan menggunakan CButton
.
Saat membuat CMFCMenuButton
, Anda harus meneruskan handel ke menu pop-up terkait. Selanjutnya, panggil fungsi CMFCMenuButton::SizeToContent
. CMFCMenuButton::SizeToContent
memeriksa apakah ukuran tombol cukup untuk menyertakan panah yang menunjuk ke lokasi tempat jendela pop-up akan muncul - yaitu, di bawah atau di sebelah kanan tombol.
Contoh
Contoh berikut menunjukkan cara mengatur handel menu yang dilampirkan ke tombol, mengubah ukuran tombol sesuai dengan ukuran teks dan gambarnya, dan mengatur menu pop-up yang ditampilkan oleh kerangka kerja. Cuplikan kode ini adalah bagian dari sampel Kontrol Baru.
CMFCMenuButton m_btnMenu;
// CMenu m_menu
m_btnMenu.m_hMenu = m_menu.GetSubMenu(0)->GetSafeHmenu();
m_btnMenu.SizeToContent();
// set to FALSE so that the framework calls CContextMenuManager::TrackPopupMenu
// to display its menu
m_btnMenu.m_bOSMenu = FALSE;
Hierarki Warisan
Persyaratan
Header: afxmenubutton.h
CMFCMenuButton::CMFCMenuButton
Membuat objek CMFCMenuButton baru.
CMFCMenuButton();
CMFCMenuButton::m_bOSMenu
Variabel anggota Boolean yang menunjukkan menu pop-up mana yang ditampilkan kerangka kerja.
BOOL m_bOSMenu;
Keterangan
Jika m_bOSMenu
TRUE, kerangka kerja memanggil metode yang diwariskan TrackPopupMenu
untuk objek ini. Jika tidak, kerangka kerja memanggil CContextMenuManager::TrackPopupMenu.
CMFCMenuButton::m_bRightArrow
Variabel anggota Boolean yang menunjukkan lokasi menu pop-up.
BOOL m_bRightArrow;
Keterangan
Saat pengguna menekan tombol menu, aplikasi menampilkan menu pop-up. Kerangka kerja akan menampilkan menu pop-up baik di bawah tombol atau di sebelah kanan tombol. Tombol ini juga memiliki panah kecil yang menunjukkan tempat menu pop-up akan muncul. Jika m_bRightArrow
TRUE, kerangka kerja menampilkan menu pop-up di sebelah kanan tombol. Jika tidak, menu pop-up akan ditampilkan di bawah tombol .
CMFCMenuButton::m_bStayPressed
Variabel anggota Boolean yang menunjukkan apakah tombol menu muncul ditekan saat pengguna membuat pilihan dari menu pop-up.
BOOL m_bStayPressed;
Keterangan
m_bStayPressed
Jika anggota FALSE, tombol menu tidak ditekan saat penggunaan mengklik tombol . Dalam hal ini, kerangka kerja hanya menampilkan menu pop-up.
m_bStayPressed
Jika anggota TRUE, tombol menu menjadi ditekan saat pengguna mengklik tombol . Ini tetap ditekan sampai setelah pengguna menutup menu pop-up, baik dengan membuat pilihan atau membatalkan.
CMFCMenuButton::m_hMenu
Handel ke menu terlampir.
HMENU m_hMenu;
Keterangan
Kerangka kerja menampilkan menu yang ditunjukkan oleh variabel anggota ini saat pengguna mengklik tombol menu.
CMFCMenuButton::m_nMenuResult
Bilangan bulat yang menunjukkan item mana yang dipilih pengguna dari menu pop-up.
int m_nMenuResult;
Keterangan
Nilai variabel anggota ini adalah nol jika pengguna membatalkan menu tanpa membuat pilihan atau jika terjadi kesalahan.
CMFCMenuButton::m_bDefaultClick
Memungkinkan pemrosesan default teks atau gambar pada tombol .
BOOL m_bDefaultClick;
Keterangan
Pengaturan m_bDefaultClick ke false menyebabkan tombol menampilkan menu saat Anda mengklik di mana saja pada tombol.
CMFCMenuButton::P reTranslateMessage
Dipanggil oleh kerangka kerja untuk menerjemahkan pesan jendela sebelum dikirim.
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parameter
pMsg
[di] Menunjuk ke struktur MSG yang berisi pesan yang akan diproses.
Tampilkan Nilai
Bukan nol jika pesan diterjemahkan dan tidak boleh dikirim; 0 jika pesan tidak diterjemahkan dan harus dikirim.
Keterangan
CMFCMenuButton::SizeToContent
Mengubah ukuran tombol sesuai dengan ukuran teks dan ukuran gambarnya.
virtual CSize SizeToContent(BOOL bCalcOnly = FALSE);
Parameter
bCalcOnly
[di] Parameter Boolean yang menunjukkan apakah metode ini mengubah ukuran tombol .
Tampilkan Nilai
Objek CSize yang menentukan ukuran baru untuk tombol .
Keterangan
Jika Anda memanggil fungsi ini dan bCalcOnly adalah TRUE, SizeToContent
hanya akan menghitung ukuran baru tombol.
Ukuran baru tombol dihitung agar pas dengan teks tombol, gambar, dan panah. Kerangka kerja ini juga menambahkan margin yang telah ditentukan sebelumnya sebesar 10 piksel untuk tepi horizontal dan 5 piksel untuk tepi vertikal.