CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1); 初始化一个对话框必须这样做? 可不可以CEdit pEdit=

时间:2021-11-28 08:36:45
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1);   初始化一个对话框必须这样做?  可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手   谢谢

13 个解决方案

#1


不是必须的,CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1);这行代码只是为了把IDC_EDIT1的窗口指针赋给pEdit

#2


还有什么方法  能实现不用指针,CEdit pEdit= 来获取对话框
引用楼主 gongzhaohan 的回复:
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1); 初始化一个对话框必须这样做? 可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手 谢谢

#3


CEdit是编辑框吧。。。

#4


为什么不用指针呢 

#5


引用 2 楼 gongzhaohan 的回复:
还有什么方法 能实现不用指针,CEdit pEdit= 来获取对话框

引用楼主 gongzhaohan 的回复:
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1); 初始化一个对话框必须这样做? 可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手 谢谢

这是因为GetDlgItem返回的是CWnd *,返回值是一个指针,所以得定义为指针,这样用不是很好的吗?为什么不用呢?

#6


如果你真的不想用指针,也是可以的,用下面的代码:
static CEdit ed;
ed.SubclassDlgItem(IDC_EDIT1,this);
这时ed就和IDC_EDIT1关联起来了,不过上面的static千万不能少了。

#7


CEdit pEdit;

pEdit.Attach(GetDlgItem(IDC_EDIT1)->GetSafeHWnd());

试试看吧

#8


如果不想用指针就为你的控件添加一个Control类型的变量, 把它控件关联起来. 用向导就可以完成, 很简单的

#9


CEdit *edit1 ;
edit1->create();

#10


引用楼主 gongzhaohan 的回复:
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1);   初始化一个对话框必须这样做?  可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手   谢谢


在控件上右键,选择“添加变量”,然后选择控件类型的变量,这样就能得到你说的结果

#11


绑定一个控件变量就行了。

#12


关联一个CEdit对象就好了,DDX_Control();

#13


引用楼主 gongzhaohan 的回复:
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1); 初始化一个对话框必须这样做? 可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手 谢谢

这句话和初始化没关系
你为什么想用变量处理
你想实现什么需求

#1


不是必须的,CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1);这行代码只是为了把IDC_EDIT1的窗口指针赋给pEdit

#2


还有什么方法  能实现不用指针,CEdit pEdit= 来获取对话框
引用楼主 gongzhaohan 的回复:
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1); 初始化一个对话框必须这样做? 可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手 谢谢

#3


CEdit是编辑框吧。。。

#4


为什么不用指针呢 

#5


引用 2 楼 gongzhaohan 的回复:
还有什么方法 能实现不用指针,CEdit pEdit= 来获取对话框

引用楼主 gongzhaohan 的回复:
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1); 初始化一个对话框必须这样做? 可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手 谢谢

这是因为GetDlgItem返回的是CWnd *,返回值是一个指针,所以得定义为指针,这样用不是很好的吗?为什么不用呢?

#6


如果你真的不想用指针,也是可以的,用下面的代码:
static CEdit ed;
ed.SubclassDlgItem(IDC_EDIT1,this);
这时ed就和IDC_EDIT1关联起来了,不过上面的static千万不能少了。

#7


CEdit pEdit;

pEdit.Attach(GetDlgItem(IDC_EDIT1)->GetSafeHWnd());

试试看吧

#8


如果不想用指针就为你的控件添加一个Control类型的变量, 把它控件关联起来. 用向导就可以完成, 很简单的

#9


CEdit *edit1 ;
edit1->create();

#10


引用楼主 gongzhaohan 的回复:
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1);   初始化一个对话框必须这样做?  可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手   谢谢


在控件上右键,选择“添加变量”,然后选择控件类型的变量,这样就能得到你说的结果

#11


绑定一个控件变量就行了。

#12


关联一个CEdit对象就好了,DDX_Control();

#13


引用楼主 gongzhaohan 的回复:
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1); 初始化一个对话框必须这样做? 可不可以CEdit pEdit=。。。?应该怎么实现。mfc新手 谢谢

这句话和初始化没关系
你为什么想用变量处理
你想实现什么需求