mfc 在编辑框中显示消息

2024-12-28 04:45:32
推荐回答(2个)
回答1:

建议这样,添加一个按钮控件,然后双击添加消息函数,把代码放在这里,方便调试。
另外UpdateData();这个东西不知道你理解没有,如果你的编辑框已经绑定了valve变量了的话,这个程序运行结果应该是空的编辑框
首先任何控件在绑定了valve变量的情况下UpdateData();才会生效,假设编辑框绑定一个变量m_str
那么UpdateData(TRUE);这句话的作用是把当前(运行状态时)编辑框中的内容赋值给m_str,而
UpdateData(FALSE);的作用是把m_str的值在编辑框中显示出来,所以如果有这样的语句:
UpdateData(TRUE);
UpdateData(FALSE);
运行结果就是编辑框内容没有一点变化
而SetWindowText()的作用是立即改变编辑框的内容,不需要配合UpdateData();
如果仅仅是想改变编辑框的值,两种方法:
.....//准备数据
m_str=_T("123");
UpdateData(false);此方法仅限绑定了变量的
另一种方法就是
CString s;
...//准备数据
GetDlgItem(IDC_EDIT1)->SetWindowText(s);
推荐后者,因为UpdateData(false);的作用是全部的控件,很多时候只想改变其中某个控件

回答2:

首先,不能放在对话框的构造函数中。(可以放在InitDialog里面)
其次,先注释掉while和括号,看看一个显示有没有问题。
编辑框有数据量64k限制,超过了会出错。

哦,你的当前错误可能是链表作为参数造成的吧。。。
用一个对话框类成员变量指针接收链表,不要在标准函数内做参数。