combox控件的GetWindowText()函数的作用本来是获取当前选中项目的内容


但是在CBN_SELCHANGE消息的处理函数OnCbnSelchangeComboDrive()中,使用GetWindowText()函数获取的并不是当前选中项目的内容,而是之前选中的内容,因为GetWindowText()是在CBN_SELCHANGE消息之后才生效的,那么在OnCbnSelchangeComboDrive()中要怎么获得当前选中的内容呢?



答案是:将GetCurSel()和GetLBText()配合使用


例如:

CString strDrive;
 int select = m_drive.GetCurSel();//m_drive是combox控件的变量
 m_drive.GetLBText(select,strDrive);//那么strDrive就获得了当前选中的内容


参考:

http://stackoverflow.com/questions/481255/how-can-i-get-the-value-string-of-the-current-selection-in-a-combobox