冰川人看世界
2015-05-28 02:58
采纳率: 100%
浏览 2.7k
已采纳

MFC更新界面,用哪种方式好

最近在做一个MFC对话框程序。情况是这样的,
一、程序主对话框上,点击按钮,打开一个非模态的子对话框窗口,子对话框里执行一些操作后需要把操作的结果跟新到主对话框上。想到两种方式:
1.子对话框窗口类中保存主对话框指针,然后在子对话框窗口类利用该指针更新主对话框界面
2.自定义消息,利用SendMessage或PostMessage函数发送消息到主对话框,函数的lParam参数保存操作的结果。主对话框收到消息后更新界面。
请问哪一种方式好。

二、子对话框类中创建了一个线程,线程里执行一些操作,操作结果需要更新到子对话框界面上。还是同样的问题,是传递指针好,还是利用消息好。之前学过C#,C#里面,非UI线程无法直接访问UI线程的界面元素。

恳请各位路过的大神指导一下

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 知常曰明 2015-05-28 04:21
    已采纳

    第一个,消息好。第二个问题我觉得只能用消息,不能用指针,因为跨了线程了,应该可能会产生同步问题。总而言之,消息是安全的数据传输方式。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • oyljerry 2015-05-28 04:22

    一般用PostMessage的方式,异步,同时把数据给主UI线程来更新界面。而不是直接操作界面

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题