VC++ 怎么在对话框中添加函数???

来源:百度知道 编辑:UC知道 时间:2024/06/25 19:31:01
本人想在对话框中添加函数,函数如下
Parameterconvert(CEdit DesignEdit, double DesignParam)
{
CString Buffer;
DesignEdit.GetWindowText(Buffer);
DesignParam=_wtof(Buffer.GetString());
Buffer.~CStringT();
}
此函数用来把CEdit中的文本转化成浮点数。
函数的声明如下:
public:
void Parameterconvert(CEdit DesignEdit, double DesignParam);

当调用此函数时,利用CMyDlg::Parameterconvert(DesignEdit, DesignParam);,编译程序会出现C2248的错误,如下:

e:\program files\visual studio 2005\vc\atlmfc\include\afxwin.h(1814) : error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'
e:\program files\visual studio 2005\vc\atlmfc\include\afx.h(553) : see declaration of 'CObject::CObject'
e:\program files\visual studio 2005\vc\atlmfc\include\afx.h(524) : see declaration of 'CObject'

问问各位高手怎么才能把函数添加进取???

代码段有几个问题:

1, CEdit DesignEdit 改成 CEdit& DesignEdit
因为你要对原来的CEdit进行操作,而不是函数中构造出的临时对象。

2,DesignParam=_wtof(Buffer.GetString());
这一行没用过,不知道对错。

3,Buffer.~CStringT();
是在调用析构函数么?除了 placement new 之外,任何情况都不要这样调用析构函数。

4,最后可以用 DesignEdit.SetWindowText 改变 CEdit 中的内容。

最后,打好基础再写吧,你这样写程序,估计错误很多。

方法1:添加一个按钮,响应单击事件,在响应函数中调用此函数
方法2:在oninitdialog中设置定时器,重载ontimer函数,在次函数中调用Parameterconvert

想了解
看看这里有没