MFC如何选中combo box的一个内容,将这个内容显示在edit中?请高手指点?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC如何选中combo box的一个内容,将这个内容显示在edit中?请高手指点?相关的知识,希望对你有一定的参考价值。
新建一个对话框,在对话框初始化时组合框添加如:2008,2009,2010等,选择2008,然后点击确定能产生一个非模态对话框(非模态对话框是由两个对话框组成的,一个对话框上有一个tab控件,由tab控件产生了一个属性页是,组合起来形成的一个对话框),将2008显示在这个非模态对话框中的edit控件上。
总得来说是有三个对话框,选择第一个对话框里的combo box内容,显示在第三个对话框里的edit上,这个中间怎么过渡?请高手指点,谢谢。
第二步,“点击”对应的function里,你添加如下代码:
GetLBText( GetCurSel(),
lpszText //返回的就是你选中的“2008”
) ;
第三步:你产生一个非墨太对话框m_dlg,这个对话框你可以为其创建一个成员变量,char m_str1[20];
然后还是在上面function里,等非墨太对话框创建后,给m_str1赋值lpszText。
第四步:我想你明白了,对,就是显示你的tab里的那个需要显示的属性页所在的dialog,为这个dialog创建一个成员函数SetEdit(char* szSrc) ,具体代码就是把输入参数szSrc的内容显示在它的editbox里。
第五步:就是给非墨太对话框创建一个成员函数
Settabedit(char* szSrc)
m_dlg1.SetEdit(szSrc); //这个m_dlg1就是这个非墨太对话款的成员变量,也就是它所包含的那个属性页所在的dialog,你应该明白吧
第六步:返回第三步末尾,给m_str1赋值lpszText。然后就m_dlg.Settabedit(lpszText);
ok,大功告成!追问
不好意思,我还是不大明白,可以把代码贴一下不?
追答我没去实现,只是说一下思路啊
本回答被提问者采纳MFC char*如何转换为CString,并显示在edit box中
edit 定义了一个CString属性的值m_edit
现在有一个字符串指针char* str="abcde"
要怎么做才能将str指向的值赋给m_edit
我可以直接等于
mode.SetString(str);这个也行
参考技术A m_edit = str;UpdateData(FALSE);
前提是通过ClassWizard绑定的成员变量,也就是说DoDataExchange中有这么一行:
DDX_Text(pDX, IDC_EDIT1, m_edit);本回答被提问者采纳 参考技术B 要看编码方式,UNICODE的话,就要把str转换到宽字符。
m_edit = CA2W(str);追问
CA2W 需要头文件吗?是没有声明的变量
以上是关于MFC如何选中combo box的一个内容,将这个内容显示在edit中?请高手指点?的主要内容,如果未能解决你的问题,请参考以下文章