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

论坛 期权论坛 脚本     
匿名技术用户   2020-12-21 18:07   11   0


测试子窗口获取其他窗口控件的内容,并显示到子窗口中(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 ...

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP