在一个对话框上增加一个ComboBox控件,Styles Type drop down,sort不选。在date中增加中国北京、中国。为其关联一个CString m_strName。
再增加一个按钮,在点击按钮调用的函数中增加如下两行。
UpdateData(TRUE);
UpdateData(FALSE);程序运行后,在下拉列表中选择“中国”,然后点击按钮,这时问题出现了,ComboBox控件的edit位置变为“中国北京”。
请问有什么办法可以解决这个问题?
再增加一个按钮,在点击按钮调用的函数中增加如下两行。
UpdateData(TRUE);
UpdateData(FALSE);程序运行后,在下拉列表中选择“中国”,然后点击按钮,这时问题出现了,ComboBox控件的edit位置变为“中国北京”。
请问有什么办法可以解决这个问题?
解决方案 »
- spin控件向下箭头是增大,向上箭头是减小,如何改变?
- 2个组合框,A用来显示省份,B用来显示对应的城市。
- 关于字符变量如何与编辑控件传递数据的问题
- 使用listcontrol控件遇到的問題,在程序初始化以後沒有出現表頭,還有其他現象,請看帖子内容!!!
- 这个结构体怎么占用了6个字节啊,请大侠帮忙看看
- 在CSDN发了近8个小时没法解决的问题:单击CTreeView中节点引起CListView改变!
- 读取COM组件信息简单问题请教
- 如何将char sn[8]内容形成一个字符串并输出。急,50分。
- 请问一下Pop3支持中文?
- 以前VC开发的CS客户端的系统,想封装为Web Service,还是用VC开发,难度是不是很大?
- 【奇怪】Installshield 根据用户系统语言安装不同组件
- 找工作!
int nIndex,
DWORD_PTR dwItemData
);索引值是int
UpdateData(FALSE); 汗,这两句一起用你想干啥
点击按钮调用的函数中增加:
m_comb.SetCurSel(i);//设置你刚刚选的下拉列表值
如果你要设置ComboBox中选中的选项,可以自己调用CComboBox的SetCurSel函数,利用索引来设置。如果只有string而不知道索引,可以自己FindString,然后对比。
http://www.joyvc.cn/GuiAndWindows/GuiAndWindowsGroup00221.html
UpdateData(FALSE);
这样写只是为了演示效果。
实际上中间是有别的处理过程。比如取得当前控件上设置的内容,设置到其它的控件上去。
UpdateData(TRUE);
...
UpdateData(FALSE);
获取内容可以用m_box.GetLBText(m_box.GetCurSel(), str);
{
// TODO: Add your control notification handler code here CComboBox *comb=(CComboBox *)GetDlgItem(IDC_COMBO1);
int i=comb->GetCurSel();
UpdateData(TRUE);
UpdateData(FALSE);
comb->SetCurSel(i);
}
UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。
当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。
这两个要清楚使用啊。