1、添加
int
ComboBox_AddString(
HWND hwndCtl, //窗口句柄
LPCTSTR lpsz //需要添加的内容
);
两者的区别就在第二个参数上:一个可以加入内容到指定的位置,一个不行。
2、确定目前选项的索引:
int ComboBox_GetCurSel(
HWND hwndCtl //唯一的参数是控件的句柄,而返回值是在句柄上显示字符串的索引号‘;
);
Cur:CurrentSel:Selection 返回值是当前项的编号,从 0开始 。
得到的不是 “ 北京市 ” 这样的字符串 , 而是索引 ( 编号 ) 如果没有项目被选中,那么从函数中传回的 iIndex 值为 CB_ERR 。做一个例子
3、删除项:
int ComboBox_DeleteString(
HWND hwndCtl , //控件的句柄,
int index //你要删除的索引号(有点像数组中总括号的数,也是从零开始),
);
返还值是删除后还剩几个字符串的个数;
4、得到某项的值
int GetLBText(
int nIndex, //包含要复制的列表框中字符串的从零开始的索引。
LPTSTR lpszText //指向是接收该字符串的缓冲区。缓冲区必须有该字符串和一个终止null字符足够的空间。
) const;
void GetLBText(
int nIndex,
CString& rString //rString对CString 的引用。
) const;
返回值:长度(以字节为单位)的字符串,不包括终止null字符。如果nIndex 不指定一个有效的索引,则返回值是CB_ERR。
备注:该成员函数的第二个窗体包含项目的文本加载一CString 对象。
示例:
CString str1, str2;
int n;
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
n = m_pComboBox->GetLBTextLen(i);
m_pComboBox->GetLBText(i, str1.GetBuffer(n));
str1.ReleaseBuffer();
str2.Format(_T("item %d: %s\r\n"), i, str1.GetBuffer(0));
AFXDUMP(str2);
}