MFC Extend CcomboBox
4850 ワード
ComboBox Exは、CComboBoxと継承しますが、CComboBoxの次の関数は使用できません:(使用時にASSERT断言に失敗しました)
_AFXCMN_INLINE int CComboBoxEx::Dir(UINT attr, LPCTSTR lpszWildCard)
_AFXCMN_INLINE int CComboBoxEx::FindString(int nIndexStart, LPCTSTR lpszFind) const _AFXCMN_INLINE int CComboBoxEx::AddString(LPCTSTR lpszString) _AFXCMN_INLINE BOOL CComboBoxEx::SetEditSel(int nStartChar, int nEndChar) _AFXCMN_INLINE int CComboBoxEx::InsertString(int nIndex, LPCTSTR lpszString)
Extended Combo Boxの機能はCombo Boxより少し多い.選択肢の前にアイコンを付ける機能がある.
まずExtended Combo Boxコントロールを追加し、変数cbBoxEを追加します.
CImageList* pImageList; //特殊な配列に相当しますが、画像が保存されています.
pImageList = new CImageList();
pImageList->Create(32, 32, ILC_COLOR32, 0, 4);//
//リソースにbmpピクチャを追加します.idはIDB_です.BITMAP1
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);//リソース内のピクチャのロード
pImageList->Add(&bmp, RGB(0, 0, 0));//イメージリストに画像を追加
cbBoxE.SetImageList(pImageList);
COMBOBOXEXITEM insItem;//画像オプションを追加するときのパラメータです.これは構造体で、次は変数の初期化です.
insItem.mask = CBEIF_IMAGE|CBEIF_TEXT;
insItem.iItem=0;
insItem.iImage=0;
insItem.pszText=_T("Line 1");
cbBoxE.InsertItem(&insItem);//コントロールにオプションを追加し、オプションの前に画像を表示します.
_AFXCMN_INLINE int CComboBoxEx::Dir(UINT attr, LPCTSTR lpszWildCard)
_AFXCMN_INLINE int CComboBoxEx::FindString(int nIndexStart, LPCTSTR lpszFind) const _AFXCMN_INLINE int CComboBoxEx::AddString(LPCTSTR lpszString) _AFXCMN_INLINE BOOL CComboBoxEx::SetEditSel(int nStartChar, int nEndChar) _AFXCMN_INLINE int CComboBoxEx::InsertString(int nIndex, LPCTSTR lpszString)
Extended Combo Boxの機能はCombo Boxより少し多い.選択肢の前にアイコンを付ける機能がある.
まずExtended Combo Boxコントロールを追加し、変数cbBoxEを追加します.
CImageList* pImageList; //特殊な配列に相当しますが、画像が保存されています.
pImageList = new CImageList();
pImageList->Create(32, 32, ILC_COLOR32, 0, 4);//
//リソースにbmpピクチャを追加します.idはIDB_です.BITMAP1
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);//リソース内のピクチャのロード
pImageList->Add(&bmp, RGB(0, 0, 0));//イメージリストに画像を追加
cbBoxE.SetImageList(pImageList);
COMBOBOXEXITEM insItem;//画像オプションを追加するときのパラメータです.これは構造体で、次は変数の初期化です.
insItem.mask = CBEIF_IMAGE|CBEIF_TEXT;
insItem.iItem=0;
insItem.iImage=0;
insItem.pszText=_T("Line 1");
cbBoxE.InsertItem(&insItem);//コントロールにオプションを追加し、オプションの前に画像を表示します.
:
1.ON_CBN_SELCHANGE , 。 , テキスト GetLBText 。 GetWindowText 。 : GetWindowText 。
2.ON_CBN_EDITCHANGE 。 CBN_EDITUPDATE , Windows スクリーン 。 CBS_DROPDOWNLIST コンボボックス 。 ,ON_CBN_EDITCHANGE ON_CBN_SELECTCHANGE 。 : GetWindowText 。
3.ON_CBN_SELENDOK , ENTER , , コンボボックス 。 CBN_CLOSEUP , 。 CBN_CLOSEUP , CBN_SELENDCANCEL CBN_SEL-ENDOK ( CBS_SIMPLE コンボボックス)。 :ON_CBN_SELENDOK ON_CBN_EDITCHANGE 。 : GetCurSel , GetLBText , GetWindowText , , Edit 。
3. CComboBox::SetCurSel() CBN_SELCHANGE , SetCurSel() CBN_SELCHANGE 。 SetCurSel() CComboBox , GetCurSel() 。 UpdateData 。
4. DropDownList CBN_EDITCHANGE ( ), CBN_EDITCHANGE ( ON_CBN_EDITCHANGE )。