Bagikan melalui


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

CObject

CCmdTarget

CWnd

CComboBox

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:

  1. Panggil CComboBoxEx untuk membuat CComboBoxEx objek.

  2. 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