非本类的函数如何调用本类的控件?

wudicainiao2 2018-03-29 10:00:25
建立了一个基于对话框的程序,主对话框为CMFCAppDlg,在这个对话框中设计了一个按钮,通过dlg.DoModal()弹出子对话框CMFCMEA,在CMFCMEA中运行了一个类函数void CMyESAPIReceive::OnMultiMeasurementAnswer(const MultiMeasResultT& result),想在这个函数里操作CMFCMEA里的控件,如何操作?用#define pMainWnd ((CMFCMEA*)AfxGetMainWnd()) ;pMainWnd ->控件 行么?是不是只有主对话框才能这样用?
...全文
348 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2018-03-29
  • 打赏
  • 举报
回复
给主对话框发送消息。PostMessage,让主对话框操作
昨夜无风 2018-03-29
  • 打赏
  • 举报
回复
可以这样用,但是控件会收不到消息
zgl7903 2018-03-29
  • 打赏
  • 举报
回复
把控件指针传递到类中 如 ClassB { public: CEdit *m_pEdit; ClassB() { m_pEdit = NULL; } public: void Fun() { if(m_pEdit && m_pEdit->m_hWnd) { m_pEdit->SetWindowText( _T("Test") ); } } }; classA { void FunA() { ClssB b(this); b.m_pEdit = &m_Edit; b.DoModal(); } };

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧