在使用DropDown类型的ComboBox时,如果使用者输入非ComboBox中列出的值,那么ComboBox的GetCurSel()的值是CB_ERR,相关的GetLBText()和GetLBTextLen()因为没有index也就无法工作。
在DDX时,可以把ComboBox和CString对应起来,采用它的原理,就可以自己来得到或设置DropDown ComboBox的文字了。
//得到ComboBox的文字
void GetComboBoxString(HWND hWndCtrl, CString& value)
{
// just get current edit item text (or drop list static)
int nLen = ::GetWindowTextLength(hWndCtrl);
if (nLen 0)
{
// get known length
::GetWindowText(hWndCtrl, value.GetBufferSetLength(nLen),...[ 查看全文 ]