为什么Combo Box动态绑定数据没有反应?

newtocsdn 2007-07-23 07:18:16
基本思路是打开某个路径并取一个名字
然后动态保存于ComboBox中。。。

似乎AddComboItem根本就没有把路径
加入到ComboBox中 但是路径却是得到了!
困扰很久。。。望达人指点。。。
PS 小弟才刚学习MFC 谢谢

具体实现如下:

void CVolumeLocation::OnBnClickedBtnFile()
{
HWND hComboBox = (HWND)GetDlgItem(IDC_COMBO_FILE);
AddComboItem(hComboBox, szFileName);
}

头文件:
void AddComboItem(HWND hComboBox, char *lpszFileName);

CPP文件:
void AddComboItem(HWND hComboBox, char *lpszFileName)
{
LPARAM nIndex;

/*Reset ComboBox Contents*/
SendMessage(hComboBox, CB_RESETCONTENT, 0, 0);
SetWindowText(hComboBox, lpszFileName);

/*Get nIndex*/
nIndex = SendMessage(hComboBox, CB_FINDSTRINGEXACT, (WPARAM) - 1, (LPARAM) & lpszFileName[0]);
/**
if(SetWindowText(hComboBox, lpszFileName))
{
MessageBox(GetParent(hComboBox),(LPCSTR)GetWindowText(hComboBox,lpszFileName,5),"Hello",MB_OK);
return;
}
else
{
AfxMessageBox("Error");
}
**/
/*The return value is the zero-based index of the matching item.
If the search is unsuccessful, it is CB_ERR. */

if(nIndex == CB_ERR && *lpszFileName)
{
time_t lTime = time(NULL);
nIndex = SendMessage(hComboBox, CB_ADDSTRING, 0, (LPARAM) & lpszFileName[0]);
if(nIndex != CB_ERR)
SendMessage(hComboBox, CB_SETITEMDATA, nIndex, (LPARAM) lTime);
}

if(nIndex != CB_ERR && *lpszFileName)
SendMessage(hComboBox, CB_ADDSTRING, 0, (LPARAM) & lpszFileName[0]);
nIndex = SendMessage(hComboBox, CB_SETCURSEL, nIndex, 0);

if(*lpszFileName == 0)
{
SendMessage(hComboBox, CB_SETCURSEL, (WPARAM) - 1, 0);
}

//AfxMessageBox("AddComboItem Invoked");
}
...全文
292 点赞 收藏 4
写回复
4 条回复
newtocsdn 2007年07月25日
没有人指点 ???
回复 点赞
newtocsdn 2007年07月24日
自己 顶 顶 顶
回复 点赞
newtocsdn 2007年07月24日
谢谢阁下的指点!这样是可以的的...
但是我比较疑惑的就是为什么我发送消息
添加数据没有反应 ???
SendMessage(hComboBox, CB_ADDSTRING, 0, (LPARAM) & lpszFileName[0]);
这个根本就没有执行 ????
不知道为什么 望指点 谢谢!
回复 点赞
sparkkendy 2007年07月23日
你把它搞的太复杂化了,把
HWND hComboBox = (HWND)GetDlgItem(IDC_COMBO_FILE);
AddComboItem(hComboBox, szFileName);
改成:
CComboBox *pBox=(CComboBox*)GetDlgItem(IDC_COMBO_FILE);
pBox->AddString(szFileName);就行了,
要获取数据就用GetLBText方法,具体用法看一下MSDN
回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7976

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告