注册 登录
编程论坛 C++教室

自定义函数中怎么用UpdateData()函数

zhouxman 发布于 2007-04-02 10:12, 1775 次点击
自定义函数中怎么用UpdateData()函数
编译的时候怎么提示说 没有定义啊
10 回复
#2
wfpb2007-04-02 10:29
UpdateData属于什么类的方法你应该知道吧? CWnd的成员函数.
#3
zhouxman2007-04-02 10:54

谢谢啊
CWnd::UpdateData()
是这样把
#4
wfpb2007-04-02 14:32
它不是静态成员函数,你如果要对某个对话框的成员调用的话还要获取那个对话框窗口的指针,然后调用
#5
zhouxman2007-04-02 18:11

我初学vc啊
还是不太懂啊
我的目的是这样的
void change()
{
.............
int a[5];
UpdateData(TRUE);//想用其更新窗口控件变量,假设为edit型的控件变量.edit 中的变量是程序运行后改变的,因此要更新,是这样的把
a[0]=m_edit_1;
a[1]=m_edit_2
.....................


}
该怎么做啊.
能不能加我qq啊254789563
或者告我你qq啊
谢谢

#6
wfpb2007-04-05 10:45
哦,m_edit_1和m_edit_2都是关联控件的CString型成员变量把?
先调用GetDlgItem(/*EDIT的ID*/)->UpdateData();
#7
dragonfly2007-04-05 14:28
以下是引用wfpb在2007-4-5 10:45:00的发言:
哦,m_edit_1和m_edit_2都是关联控件的CString型成员变量把?
先调用GetDlgItem(/*EDIT的ID*/)->UpdateData();

调用GetDlgItem(/*EDIT所在窗口的ID*/)->UpdateData()更好吧!

#8
wfpb2007-04-05 14:59
嗯 ,是的,呵呵 傻了
#9
zhouxman2007-04-05 18:51

void change()
{
.............
int a[5];
UpdateData(TRUE);//想用其更新窗口控件变量,假设为edit型的控件变量.edit 中的变量是程序运行后改变的,因此要更新,是这样的把
a[0]=m_edit_1;
a[1]=m_edit_2
.....................


}

还是不行啊
我用的是dlg1.UpdateData(TRUE)
通过是过了 但好象没作用啊
我这里的change()不是在CDlgxxx.cpp里啊(xxx为工程名)
是在xxx.cpp里啊

#10
wfpb2007-04-05 19:59
你把代码传过来,我帮你改
#11
zhouxman2007-04-06 09:25

就是我新建一个dll工程 为frist
插入一个对话框 类名为dlg 起对象为dlg1
在frist.cpp里有自定义void change()函数
m_edit_1和m_edit_2 是对话框 上关联的变量
我原来写的代码如下
void change()
{
.............
int a[5];
UpdateData(TRUE);//想用其更新窗口控件变量,假设为edit型的控件变量.edit 中的变量是程序运行后改变的,因此要更新,是这样的把
a[0]=m_edit_1;
a[1]=m_edit_2;
UpdateData(FALSE);//
.....................


}
不能成功 后来我有改为
void change()
{
.............
int a[5];
dlg1.UpdateData(TRUE);//想用其更新窗口控件变量,假设为edit型的控件变量.edit 中的变量是程序运行后改变的,因此要更新,是这样的把
a[0]=m_edit_1;
a[1]=m_edit_2;
dlg1.UpdateData(FALSE);
.....................


}

编译连接通过了
但UpdateData好象没有起到更新的作用啊

1