为了账号安全,请及时绑定邮箱和手机立即绑定

我这样写出来目的就是想知道不定义为成员函数的方法?求指教

我这样写出来目的就是想知道不定义为成员函数的方法?求指教

C++
冉冉说 2022-11-18 18:14:44
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(...),在类 的里面做函数体的声明

查看完整回答
反对 回复 2022-11-24
?
慕容3067478

TA贡献1773条经验 获得超3个赞

你要想不定义为成员函数,而且做到先调用setlab("haha")然后调用GetDlgItem(IDC_STATIC1)->SetWindowText(str)就必须知道dlg的句柄,可以再CMy001Dlg中添加一个parentWnd指向父窗口,然后通过AfxGetMainWnd获取父窗口的句柄,通过在父窗口中设定的childDlg然后获取这个句柄然后通过句柄操作!
不过你这么做就是吃饱了撑的慌,真的!

查看完整回答
反对 回复 2022-11-24
?
桃花长相依

TA贡献1860条经验 获得超8个赞

show定义成CMy001Dlg类的成员函数

查看完整回答
反对 回复 2022-11-24
  • 3 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号