void show(){// setlab("haha");//这里如何才能正确调用setlab呢?//又如何使 GetDlgItem(IDC_STATIC1)->SetWindowText(str); 这句在这里能正确执行?}void CMy001Dlg::OnButton1() {show();}void CMy001Dlg::setlab(CString str){GetDlgItem(IDC_STATIC1)->SetWindowText(str);}
3 回答
精慕HU
TA贡献1845条经验 获得超8个赞
第一 如果show不是CMy001Dlg 的成员函数
则: 必须要有一个 类的对象给对象分配内存
然后,在调用的时候 用 对象名->setlab(...) 调用其成员函数【此时一定要保证其成员函数是公开的】
第二,可以把show作为CMy001Dlg的成员函数,在其前面用CMy001Dlg::show(...),在类 的里面做函数体的声明
慕容3067478
TA贡献1773条经验 获得超3个赞
你要想不定义为成员函数,而且做到先调用setlab("haha")然后调用GetDlgItem(IDC_STATIC1)->SetWindowText(str)就必须知道dlg的句柄,可以再CMy001Dlg中添加一个parentWnd指向父窗口,然后通过AfxGetMainWnd获取父窗口的句柄,通过在父窗口中设定的childDlg然后获取这个句柄然后通过句柄操作!
不过你这么做就是吃饱了撑的慌,真的!
- 3 回答
- 0 关注
- 197 浏览
添加回答
举报
0/150
提交
取消
