获得控件句柄
1.if(hCommbox==NULL)
hCommbox=m_ComboxFont.GetSafeHwnd();
2.HWND hWndComboBox = GetDlgItem(hWnd, IDC_COMBO1);
线程中对控件添加数据
::SendMessage(hCommbox,CB_ADDSTRING, 0, (LPARAM)lpelf->elfFullName);
设置默认显示
m_ComboxFont.SetCurSel(0);
线程中添加时过滤掉重复文本
int index = ::SendMessage(hCommbox,CB_FINDSTRING, 0, (LPARAM)lpelf->elfFullName);
if(index== LB_ERR)
//TODO
获取当前选择项的标号
m_ComboxFont.GetCurSel()
向Combo Box插入数据
HWND hWndComboBox = GetDlgItem(hWnd, IDC_COMBO1);
TCHAR szMessage[20] = "World";
SendMessage(hWndComboBox , CB_INSERTRSTRING, 0, (LPARAM)szMessage);
//4 向Combo Box删除数据
SendMessage(hWndComboBox, CB_DELETESTRING, 1, 0); //删除第二项数据
//5 清除Combo Box所有数据
SendMessage(hWndComboBox, CB_RESETCONTENT, 0, 0);
//6 获取Combo Box数据项目的数量
UINT uCount;
uCount = SendMessage(hWndComboBox, CB_GETCOUNT, 0, 0):
//7 获取Combo Box某项的值
TCHAR szMessage[200];
ZeroMessage(szMessage, sizeof(szMessage)):
SendMessage(hWndComboBox, CB_GETLBTEXT, 1, (LPARAM)szMessage); //获取第二项的数据
MessageBox(NULL, szMessage, " ", MB_OK);
列表框常用消息映射宏
ON_CBN_DBLCLK 鼠标双击
ON_CBN_DROPDOWN 列表框被弹出
ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生
ON_CBN_SELCHANGE 列表框中选择的行发生改变
ON_CBN_EDITUPDATE 输入框中内容被更新
得到或设置输入框中被选中的字符位置
1.DWORD GetEditSel( ) /BOOL SetEditSel( int nStartChar, int nEndChar );
BOOL LimitText( int nMaxChars ); 设置输入框中可输入的最大字符数。
2.CString text;
GetDlgItemText(IDC_COMBO1,text);
IDC_COMBO1是ComboBox控件的ID。获取的文本保存在text变量里。