u014760475
F君就是FOWARD
采纳率33.3%
2015-04-16 04:57

小弟请教在MFC中子窗口如何获取父窗口的句柄啊

比如我有个父类的Dialog类为A,还有一个子类的Dialog类为B,然后在A类的头文件中包含了B的头文件,然后在A类中生命一个B类的成员变量,类似下面那样,然后我通过一个button调用DoModal();B类的STYLE改为CHILD了;
然后我希望在子窗口中处理一些数据,然后传给父窗口;比如A中有个IDC_text1
有个IDD_BUTTON1,B中有个IDC_text2,有个IDD_BUTTON2;
我就希望在B中的IDC_text2中输入一个数字,点击DD_BUTTON2,然后关闭B对象的对话框,在A对象的对话框中点击IDD_BUTTON1,然后IDC_text1中显示这个数,如何操作啊,初学者求指教,我查了说是可以通过获取父窗口的句柄操作,但是具体该怎么弄呢?

class B
{
public:
B();
...
~B();

};

class A
{
public:
A();
...
~A();
B bb;

};

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • VisualEleven Eleven 6年前

    1.创建B对话框的时候可以将A的HWND窗口句柄传递过去,当然需要修改B类的构造函数。
    2.B类中定义一个CString/int/DWORD类型的成员用来保存你IDC_TEXT2的数据。

    点赞 3 评论 复制链接分享
  • happyparrot 快乐鹦鹉 6年前

    这根本用不到父窗口指针。你把IDC_TEXT2绑定一个字符串成员变量,然后在响应IDD_BUTTON1的事件处理中,可以直接访问B类型的成员变量来得到这个字符串变量

    点赞 1 评论 复制链接分享
  • happyparrot 快乐鹦鹉 6年前

    这根本用不到父窗口指针。你把IDC_TEXT2绑定一个字符串成员变量,然后在响应IDD_BUTTON1的事件处理中,可以直接访问B类型的成员变量来得到这个字符串变量

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 6年前

    GetParent()获取父窗口
    或者B的构造函数中直接把父窗口作为参数传递进去

    获取父窗口后,俄可以用GetDlgItem唉获取父窗口控件等操作

    点赞 1 评论 复制链接分享

相关推荐