MFC2010如何在对话框类外部对对话框的显示进行UpdateData(FALSE),求高手解答,有代码更好~~

 我来答
rocket_torpedo
2013-05-06 · TA获得超过547个赞
知道答主
回答量:134
采纳率:0%
帮助的人:109万
展开全部
  在CxxxDlg.h
  //定义用户消息,不可与系统消息冲突,所以就这样定义
  //WM+USER表示用户消息,加100还是加其他值并没多大区别的
  #define WM_MYUPDATEDATA WM_USER+100
  
在线程内
  //向主程序框架MainFrm发送消息
  //SendMessage第二第三参数可以为其他更多的类型,不局限于此
  DWORD RondomLeftThread(CxxxDlg*p)
  {
  p->SendMessage(WM_MYUPDATEDATA,FALSE);
  }
  //调用线程的地方
  hThread_1=CreateThread(NULL,
  0,
  (LPTHREAD_START_ROUTINE)RondomLeftThread,
  this,
  0,
  (unsigned long *)&ThreadID);
  
在CxxxDlg.cpp内
  //关联自定义消息
  BEGIN_MESSAGE_MAP(CxxxDlg, CDialog)
  //{{AFX_MSG_MAP(CxxxDlg)
  ON_WM_PAINT()
  ON_WM_QUERYDRAGICON()
  ON_MESSAGE(WM_MYUPDATEDATA,OnUpdateMyData)
  //}}AFX_MSG_MAP
  END_MESSAGE_MAP()

  定义OnUpdateMyData
  class CxxxDlg: public CDialog
  {
  // Construction
  public:
  CxxxDlg(CWnd* pParent = NULL); // standard constructor

  // Dialog Data
  //{{AFX_DATA(CxxxDlg)
  enum { IDD = IDD_RANDOM_DIALOG };
  HANDLE hThread_1;
  HANDLE hThread_2;
  //}}AFX_DATA
  // ClassWizard generated virtual function overrides
  //{{AFX_VIRTUAL(CxxxDlg)
  protected:
  virtualvoid DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  //}}AFX_VIRTUAL

  // Implementation
  protected:
  HICON m_hIcon;

  // Generated message map functions
  //{{AFX_MSG(CxxxDlg)
  virtualBOOL OnInitDialog();
  afx_msg void OnPaint();
  afx_msg HCURSOR OnQueryDragIcon();
  LRESULT OnUpdateMyData(WPARAM wParam, LPARAM lParam);
  //}}AFX_MSG
  DECLARE_MESSAGE_MAP()
  public:
  void EnableDisplay(int,BOOL);
  };

  实现OnUpdateMyData
  LRESULT CxxxDlg::OnUpdateMyData(WPARAM wParam, LPARAM lParam)
  {
  UpdateData(wParam);
  return 1;
  }
樱信全无YX
2013-05-06 · TA获得超过630个赞
知道小有建树答主
回答量:323
采纳率:100%
帮助的人:256万
展开全部
::SendMessage(pDlg->GetSafeHwnd(), WM_UPDATEDATA, FALSE, 0);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式