动态创建CEdit的问题

我在对话框的OnInitDialog()中创建了一个CEdit,pEdit=newCEdit();//pEdit是该对话框类的成员变量CEdit*pEdit;并且在构造函... 我在对话框的OnInitDialog()中创建了一个CEdit ,
pEdit=new CEdit();//pEdit是该对话框类的成员变量 CEdit *pEdit;并且在构造函数中初始化为NULL;
pEdit->create(...);

现在的问题是,我想得到pEdit修改后的字符串,pEdit->GetWindowText(str);这一语句只有在OnInitDialog()才能得到值,在其他地方都出错,调试显示pEdit为错误指针,这是为什么呢?我要怎么做才能得到正确的值呢?
GetDlgItem(ID)这个语句也只能在OnInitDialog()中使用有效,在其他函数里使用直接中断。
我在想是不是动态创建的CEdit 只在创建它的函数里有效啊。
详细的代码其实也就是在OnInitDialog()里创建一个CEdit ,自己写一个函数getValue()来得到CEdit的值,可总是出错。

代码的功能是重写了CColorDialog,想加一个Alpha项。不知谁有现成的例子?
展开
 我来答
zhzhyun
2009-06-23 · TA获得超过328个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:145万
展开全部
有详细点的代码么,我这里没有发现不能用的问题啊。
CEdit *pEdit 应该在.h里面定义。你检查下。然后就是用
CString str="";
pEdit->GetWindowText(Str); //获得edit的值
yiqifu
2009-06-22 · TA获得超过313个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:157万
展开全部
GetDlgItem(用你创建时的ID)->GetWindowText(str);

看看可不可以

你创建控件的变量要是全局的才行吧,不能在OnInitDialog里定义局部变量创建.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式