MFC在窗口类外部或者另一个窗口获取其他窗口控件中的内容


  测试子窗口获取其他窗口控件的内容,并显示到子窗口中(2种方法),主要是因为直接在子窗口上获取或出现断言的错误

  1,在其他窗口中 设置静态变量static  str,提前赋值好, 这样在子窗口类中就能访问这个数据


        SetDlgItemText(IDC_STATIC1, CHome_WorkDlg::str);    //记住要类外初始化  static

        其实不推荐这种方法 下面是不用设置静态变量的方法


  2,HWND hWnd = ::FindWindow(NULL, _T("Home_Work"));        //得到窗口的句柄(第2个参:其他窗口的名称)

     //由句柄得到对话框的对象指针(( CHome_WorkDlg)其他窗口类名)
    CHome_WorkDlg* pWnd = (CHome_WorkDlg*)CHome_WorkDlg::FromHandle(hWnd);

    这样之后(1)可以 

    CEdit* pBoxOne = (CEdit*)pWnd->GetDlgItem(IDC_EDIT2);    //((IDC_EDIT2)其他窗口控件名)
    pBoxOne->GetWindowText(str4);

    还可以(2)在其它窗口中定义获取变量的方法

    str4= pWnd->Get_Edit();   //其他窗口(CHome_WorkDlg)中的方法
    
    最后

    SetDlgItemText(IDC_STATIC1, str4);    //在子窗口控件上填上内容

END ...

  • 7
    点赞
  • 24
    收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 5

打赏作者

不想编程的坏程序员

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值