Kelas CComboBoxEx
Memperluas kontrol kotak kombo dengan memberikan dukungan untuk daftar gambar.
Sintaks
class CComboBoxEx : public CComboBox
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CComboBoxEx::CComboBoxEx | Membuat CComboBoxEx objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CComboBoxEx::Create | Membuat kotak kombo dan melampirkannya ke CComboBoxEx objek. |
CComboBoxEx::CreateEx | Membuat kotak kombo dengan gaya perluasan Windows yang ditentukan dan melampirkannya ke ComboBoxEx objek. |
CComboBoxEx::D eleteItem | Menghapus item dari ComboBoxEx kontrol. |
CComboBoxEx::GetComboBoxctrl | Mengambil penunjuk ke kontrol kotak kombo turunan. |
CComboBoxEx::GetEditctrl | Mengambil handel ke bagian ComboBoxEx kontrol edit kontrol. |
CComboBoxEx::GetExtendedStyle | Mengambil gaya yang diperluas yang digunakan untuk ComboBoxEx kontrol. |
CComboBoxEx::GetImageList | Mengambil penunjuk ke daftar gambar yang ComboBoxEx ditetapkan ke kontrol. |
CComboBoxEx::GetItem | Mengambil informasi item untuk item tertentu ComboBoxEx . |
CComboBoxEx::HasEditChanged | Menentukan apakah pengguna telah mengubah konten ComboBoxEx kontrol edit dengan mengetik. |
CComboBoxEx::InsertItem | Menyisipkan item baru dalam ComboBoxEx kontrol. |
CComboBoxEx::SetExtendedStyle | Mengatur gaya yang diperluas dalam ComboBoxEx kontrol. |
CComboBoxEx::SetImageList | Mengatur daftar gambar untuk ComboBoxEx kontrol. |
CComboBoxEx::SetItem | Mengatur atribut untuk item dalam ComboBoxEx kontrol. |
CComboBoxEx::SetWindowTheme | Mengatur gaya visual kontrol kotak kombo yang diperluas. |
Keterangan
Dengan menggunakan CComboBoxEx
untuk membuat kontrol kotak kombo, Anda tidak perlu lagi mengimplementasikan kode gambar Anda sendiri. Sebagai gantinya, gunakan CComboBoxEx
untuk mengakses gambar dari daftar gambar.
Dukungan Daftar Gambar
Dalam kotak kombo standar, pemilik kotak kombo bertanggung jawab untuk menggambar gambar dengan membuat kotak kombo sebagai kontrol gambar pemilik. Saat Anda menggunakan CComboBoxEx
, Anda tidak perlu mengatur gaya gambar CBS_OWNERDRAWFIXED dan CBS_HASSTRINGS karena tersirat. Jika tidak, Anda harus menulis kode untuk melakukan operasi menggambar. CComboBoxEx
Kontrol mendukung hingga tiga gambar per item: satu untuk status yang dipilih, satu untuk status yang tidak dipilih, dan satu untuk gambar overlay.
Gaya
CComboBoxEx
mendukung gaya CBS_SIMPLE, CBS_DROPDOWN, CBS_DROPDOWNLIST, dan WS_CHILD. Semua gaya lain yang diteruskan saat Anda membuat jendela diabaikan oleh kontrol. Setelah jendela dibuat, Anda dapat menyediakan gaya kotak kombo lainnya dengan memanggil CComboBoxEx
fungsi anggota SetExtendedStyle. Dengan gaya ini, Anda dapat:
Atur pencarian string dalam daftar agar peka huruf besar/kecil.
Buat kontrol kotak kombo yang menggunakan karakter garis miring ('/'), garis miring terbalik ('\'), dan titik ('.') sebagai pemisah kata. Ini memungkinkan pengguna untuk melompat dari kata ke kata, menggunakan pintasan keyboard CTRL+ ARROW.
Atur kontrol kotak kombo ke tampilan atau tidak menampilkan gambar. Jika tidak ada gambar yang ditampilkan, kotak kombo dapat menghapus inden teks yang mengakomodasi gambar.
Buat kontrol kotak kombo sempit, termasuk ukurannya sehingga mengklip kotak kombo yang lebih luas di dalamnya.
Bendera gaya ini dijelaskan lebih lanjut dalam Menggunakan CComboBoxEx.
Atribut Item Retensi dan Panggilan Balik Item
Informasi item, seperti indeks untuk item dan gambar, nilai indentasi, dan string teks, disimpan dalam struktur Win32 COMBOBOXEXITEM, seperti yang dijelaskan di Windows SDK. Struktur juga berisi anggota yang sesuai dengan bendera panggilan balik.
Untuk diskusi konseptual terperinci, lihat Menggunakan CComboBoxEx.
Hierarki Warisan
CComboBoxEx
Persyaratan
Header: afxcmn.h
CComboBoxEx::CComboBoxEx
Panggil fungsi anggota ini untuk membuat CComboBoxEx
objek.
CComboBoxEx();
CComboBoxEx::Create
Membuat kotak kombo dan melampirkannya ke CComboBoxEx
objek.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwStyle
Menentukan kombinasi gaya kotak kombo yang diterapkan ke kotak kombo. Lihat Keterangan di bawah ini untuk informasi selengkapnya tentang gaya.
rect
Referensi ke objek CRect atau struktur RECT , yang merupakan posisi dan ukuran kotak kombo.
pParentWnd
Penunjuk ke objek CWnd yang merupakan jendela induk kotak kombo (biasanya ).CDialog
Ini tidak boleh NULL.
Nid
Menentukan ID kontrol kotak kombo.
Tampilkan Nilai
Bukan nol jika objek berhasil dibuat; jika tidak, 0.
Keterangan
Buat CComboBoxEx
objek dalam dua langkah:
Panggil CComboBoxEx untuk membuat
CComboBoxEx
objek.Panggil fungsi anggota ini, yang membuat kotak kombo Windows yang diperluas dan melampirkannya ke
CComboBoxEx
objek.
Saat Anda memanggil Create
, MFC menginisialisasi kontrol umum.
Saat membuat kotak kombo, Anda bisa menentukan salah satu atau semua gaya kotak kombo berikut:
CBS_SIMPLE
CBS_DROPDOWN
CBS_DROPDOWNLIST
CBS_AUTOHSCROLL
WS_CHILD
Semua gaya lain yang diteruskan saat Anda membuat jendela diabaikan. Kontrol ini ComboBoxEx
juga mendukung gaya yang diperluas yang menyediakan fitur tambahan. Gaya ini dijelaskan dalam gaya perluasan kontrol ComboBoxEx, di Windows SDK. Atur gaya ini dengan memanggil SetExtendedStyle.
Jika Anda ingin menggunakan gaya jendela yang diperluas dengan kontrol Anda, panggil CreateEx alih-alih Create
.
CComboBoxEx::CreateEx
Panggil fungsi ini untuk membuat kontrol kotak kombo yang diperluas (jendela anak) dan kaitkan dengan CComboBoxEx
objek.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwExStyle
Menentukan gaya kontrol yang diperluas yang sedang dibuat. Untuk daftar gaya Windows yang diperluas, lihat parameter dwExStyle untuk CreateWindowEx di Windows SDK.
dwStyle
Gaya kontrol kotak kombo. Lihat Membuat untuk daftar gaya.
rect
Referensi ke struktur RECT yang menjelaskan ukuran dan posisi jendela yang akan dibuat, dalam koordinat klien pParentWnd.
pParentWnd
Penunjuk ke jendela yang merupakan induk kontrol.
Nid
ID jendela anak kontrol.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Gunakan CreateEx
alih-alih Create
menerapkan gaya Windows yang diperluas, yang ditentukan oleh preface gaya windows yang diperluas WS_EX_.
CreateEx
membuat kontrol dengan gaya Windows yang diperluas yang ditentukan oleh dwExStyle. Anda harus mengatur gaya yang diperluas khusus untuk kontrol kotak kombo yang diperluas menggunakan SetExtendedStyle. Misalnya, gunakan CreateEx
untuk mengatur gaya seperti WS_EX_CONTEXTHELP, tetapi gunakan SetExtendedStyle
untuk mengatur gaya seperti CBES_EX_CASESENSITIVE. Untuk informasi selengkapnya, lihat gaya yang dijelaskan dalam topik ComboBoxEx Control Extended Styles di Windows SDK.
CComboBoxEx::D eleteItem
Menghapus item dari ComboBoxEx
kontrol.
int DeleteItem(int iIndex);
Parameter
iIndex
Indeks berbasis nol dari item yang akan dihapus.
Tampilkan Nilai
Jumlah item yang tersisa dalam kontrol. Jika iIndex tidak valid, fungsi mengembalikan CB_ERR.
Keterangan
Fungsi anggota ini mengimplementasikan fungsionalitas pesan CBEM_DELETEITEM, seperti yang dijelaskan di Windows SDK. Saat Anda memanggil DeleteItem, pesan WM_NOTIFY dengan pemberitahuan CBEN_DELETEITEM akan dikirim ke jendela induk.
CComboBoxEx::GetComboBoxctrl
Panggil fungsi anggota ini untuk mendapatkan penunjuk ke kontrol kotak kombo dalam CComboBoxEx
objek.
CComboBox* GetComboBoxCtrl();
Tampilkan Nilai
Penunjuk ke CComboBox
objek.
Keterangan
CComboBoxEx
Kontrol terdiri dari jendela induk, yang merangkum CComboBox
.
Objek CComboBox
yang ditujukkan oleh nilai pengembalian adalah objek sementara dan dihancurkan selama waktu pemrosesan menganggur berikutnya.
CComboBoxEx::GetEditctrl
Panggil fungsi anggota ini untuk mendapatkan penunjuk ke kontrol edit untuk kotak kombo.
CEdit* GetEditCtrl();
Tampilkan Nilai
Penunjuk ke objek CEdit .
Keterangan
CComboBoxEx
Kontrol menggunakan kotak edit saat dibuat dengan gaya CBS_DROPDOWN.
Objek CEdit
yang ditujukkan oleh nilai pengembalian adalah objek sementara dan dihancurkan selama waktu pemrosesan menganggur berikutnya.
CComboBoxEx::GetExtendedStyle
Panggil fungsi anggota ini untuk mendapatkan gaya yang diperluas yang digunakan untuk CComboBoxEx
kontrol.
DWORD GetExtendedStyle() const;
Tampilkan Nilai
Nilai DWORD yang berisi gaya yang diperluas yang digunakan untuk kontrol kotak kombo.
Keterangan
Lihat ComboBoxEx Control Extended Styles di Windows SDK untuk informasi selengkapnya tentang gaya ini.
CComboBoxEx::GetImageList
Panggil fungsi anggota ini untuk mendapatkan penunjuk ke daftar gambar yang CComboBoxEx
digunakan oleh kontrol.
CImageList* GetImageList() const;
Tampilkan Nilai
Penunjuk ke objek CImageList . Jika gagal, fungsi anggota ini mengembalikan NULL.
Keterangan
Objek CImageList
yang ditujukkan oleh nilai pengembalian adalah objek sementara dan dihancurkan selama waktu pemrosesan menganggur berikutnya.
CComboBoxEx::GetItem
Mengambil informasi item untuk item tertentu ComboBoxEx
.
BOOL GetItem(COMBOBOXEXITEM* pCBItem);
Parameter
pCBItem
Penunjuk ke struktur COMBOBOXEXITEM yang akan menerima informasi item.
Tampilkan Nilai
Bukan nol jika operasi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini mengimplementasikan fungsionalitas pesan CBEM_GETITEM, seperti yang dijelaskan di Windows SDK.
CComboBoxEx::HasEditChanged
Menentukan apakah pengguna telah mengubah konten ComboBoxEx
kontrol edit dengan mengetik.
BOOL HasEditChanged();
Tampilkan Nilai
Bukan nol jika pengguna telah mengetik di kotak edit kontrol; jika tidak, 0.
Keterangan
Fungsi anggota ini mengimplementasikan fungsionalitas pesan CBEM_HASEDITCHANGED, seperti yang dijelaskan di Windows SDK.
CComboBoxEx::InsertItem
Menyisipkan item baru dalam ComboBoxEx
kontrol.
int InsertItem(const COMBOBOXEXITEM* pCBItem);
Parameter
pCBItem
Penunjuk ke struktur COMBOBOXEXITEM yang akan menerima informasi item. Struktur ini berisi nilai bendera panggilan balik untuk item.
Tampilkan Nilai
Indeks tempat item baru disisipkan jika berhasil; jika tidak -1.
Keterangan
Saat Anda memanggil InsertItem
, pesan WM_NOTIFY dengan pemberitahuan CBEN_INSERTITEM akan dikirim ke jendela induk.
CComboBoxEx::SetExtendedStyle
Panggil fungsi anggota ini untuk mengatur gaya yang diperluas yang digunakan untuk kontrol yang diperluas kotak kombo.
DWORD SetExtendedStyle(
DWORD dwExMask,
DWORD dwExStyles);
Parameter
dwExMask
Nilai DWORD yang menunjukkan gaya mana dalam dwExStyles yang akan terpengaruh. Hanya gaya yang diperluas di dwExMask yang akan diubah. Semua gaya lainnya akan dipertahankan apa adanya. Jika parameter ini nol, maka semua gaya dalam dwExStyles akan terpengaruh.
dwExStyles
Nilai DWORD yang berisi kontrol kotak kombo gaya yang diperluas untuk diatur untuk kontrol.
Tampilkan Nilai
Nilai DWORD yang berisi gaya yang diperluas yang sebelumnya digunakan untuk kontrol.
Keterangan
Lihat ComboBoxEx Control Extended Styles di Windows SDK untuk informasi selengkapnya tentang gaya ini.
Untuk membuat kontrol perluasan kotak kombo dengan gaya jendela yang diperluas, gunakan CreateEx.
CComboBoxEx::SetImageList
Mengatur daftar gambar untuk ComboBoxEx
kontrol.
CImageList* SetImageList(CImageList* pImageList);
Parameter
pImageList
Penunjuk ke objek yang CImageList
berisi gambar untuk digunakan dengan CComboBoxEx
kontrol.
Tampilkan Nilai
Penunjuk ke objek CImageList yang berisi gambar yang sebelumnya digunakan oleh CComboBoxEx
kontrol. NULL jika tidak ada daftar gambar yang sebelumnya diatur.
Keterangan
Fungsi anggota ini mengimplementasikan fungsionalitas pesan CBEM_SETIMAGELIST, seperti yang dijelaskan di Windows SDK. Jika Anda mengubah tinggi kontrol edit default, panggil fungsi Win32 SetWindowPos untuk mengubah ukuran kontrol setelah Anda memanggil SetImageList
, atau tidak akan ditampilkan dengan benar.
Objek CImageList
yang ditujukkan oleh nilai pengembalian adalah objek sementara dan dihancurkan selama waktu pemrosesan menganggur berikutnya.
CComboBoxEx::SetItem
Mengatur atribut untuk item dalam ComboBoxEx
kontrol.
BOOL SetItem(const COMBOBOXEXITEM* pCBItem);
Parameter
pCBItem
Penunjuk ke struktur COMBOBOXEXITEM yang akan menerima informasi item.
Tampilkan Nilai
Bukan nol jika operasi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini mengimplementasikan fungsionalitas pesan CBEM_SETITEM, seperti yang dijelaskan di Windows SDK.
CComboBoxEx::SetWindowTheme
Mengatur gaya visual kontrol kotak kombo yang diperluas.
HRESULT SetWindowTheme(LPCWSTR pszSubAppName);
Parameter
pszSubAppName
Penunjuk ke string Unicode yang berisi gaya visual kotak kombo yang diperluas untuk diatur.
Tampilkan Nilai
Nilai yang dikembalikan tidak digunakan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas pesan CBEM_SETWINDOWTHEME , seperti yang dijelaskan di Windows SDK.
Lihat juga
MFC Sampel MFCIE
Kelas CComboBox
Bagan Hierarki
Kelas CComboBox