1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
CMyComboBox::CMyComboBox(int iItemNumber,CString * sSelectableItems, CString sActivatedField)
{
m_sSelectableItems = new CString [iItemNumber];
m_iActivatedIndex = 0;
for (int i=0;i<iItemNumber;++i)
{
if ( !strcmp(sActivatedField,sSelectableItems[i]) )
m_iActivatedIndex = i;
m_sSelectableItems[i] = sSelectableItems[i];
}
}
int CMyComboBox::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CComboBoxEx::OnCreate(lpCreateStruct) == -1)
return -1;
// Set the proper font
CFont* font = GetParent()->GetFont();
SetFont(font);
SetImageList(&((CListCtrlEx*)GetParent())->m_CheckImageList);
COMBOBOXEXITEM cbi;
cbi.mask = CBEIF_IMAGE|CBEIF_TEXT|CBEIF_OVERLAY| CBEIF_SELECTEDIMAGE;
CString str;
for (int i=0;i<m_iItemNumber;++i)
{
cbi.iItem = 0;
cbi.pszText = (LPTSTR)(LPCTSTR)m_sSelectableItems[i];
cbi.cchTextMax = m_sSelectableItems[i].GetLength();
cbi.iImage = 0;
cbi.iSelectedImage = 0;
cbi.iOverlay =0;
InsertItem(&cbi);
}
SetCurSel(m_iActivatedIndex);
//Fonction de dimensionnement, en fonction du contenu, donnée par Farscape
set_DropDownSize(this,m_iItemNumber);
SetFocus();
return 0;
} |
Partager