MFC 下对话框程序使用消息

来源:互联网 发布:python while循环终止 编辑:程序博客网 时间:2024/06/12 00:36

 

   在MFC下编程,多线程实现时候。要求函数为全局函数,这样在访问窗体的时候会出现很多问题,当然也可以将线程的运行函数写成类的静态函数,但是这样一来在静态函数中只能访问静态函数和变量,带来了诸多的不便。下面看我的实现。

  这里我用vc++6.0创建了一个名为Muti_Tread的对话框程序。

 在Muti_ThreadDlg.h : header file 中添加

 

    // Generated message map functions
    //{{AFX_MSG(CMuti_ThreadDlg)
    virtual BOOL OnInitDialog();
    afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);//添加的消息声明

    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()

  在 Muti_ThreadDlg.cpp : implementation file中

  首先定义

   #define WM_MY_MESSAGE (WM_USER+100)//WM_USER 有一些控件也使用,因此这里要加上100

 

 下一步 还是在Muti_ThreadDlg.cpp : implementation file中

   BEGIN_MESSAGE_MAP(CMuti_ThreadDlg, CDialog)
    //{{AFX_MSG_MAP(CMuti_ThreadDlg)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
    ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)//添加.
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()

     同时实现消息处理函数

LRESULT CMuti_ThreadDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
    MessageBox("OnMyMessage!");
    return 0;
}

OK 。。