GetMainWnd()->PostMessageWM_DISPLAY,res,NULL) 看行不行呢

解决方案 »

  1.   

    谢谢大家.映射代码大致这样LRESULT CMainFrame::OnDisplay(WPARAM wParam,LPARAM lParam)
    {
    }
    没有执行到这个函数这里!映射是这样的MainFrm.h文件如下#include "CalculateThread.h" 
    #define WM_DISPLAY WM_USER+1  //定义WM_DISPLAY
    class CMainFrame : public CMDIFrameWnd
    {
    DECLARE_DYNAMIC(CMainFrame)
    public:
    CMainFrame();public:
    CCalculateThread *pThread;            //线程指针
    LRESULT OnDisplay(WPARAM wParam,LPARAM lParam);//收到线程消息后的响应函数
    ...MainFrm.cpp文件如下:
    BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
    //{{AFX_MSG_MAP(CMainFrame)
    ON_WM_CREATE()
    ON_COMMAND(ID_MENUITEM32794, OnMenuitem32794)
    ON_MESSAGE(WM_DISPLAY,OnDisplay)//映射
    大致就是这样的.就是收不到消息
      

  2.   

    找到问题原因了:void CMainFrame::OnMenuitem32794() 
    {
    // TODO: Add your command handler code here
    pThread = (CCalculateThread*)AfxBeginThread(RUNTIME_CLASS(CCalculateThread));
    pThread->PostThreadMessage(WM_CALCULATE,5,NULL);
    }
    [code=C/C++]
    把这个代码放在菜单栏上就可以.放在CMainFrame构造函数里就不行[code=C/C++]CMainFrame::CMainFrame()
    {
    // TODO: add member initialization code here
    pThread = (CCalculateThread*)AfxBeginThread(RUNTIME_CLASS(CCalculateThread));
    pThread->PostThreadMessage(WM_CALCULATE,5,NULL);
    }
    请问这是为什么?
    我想让窗体加截以后就执行下面的代码.请问有什么办法
    pThread = (CCalculateThread*)AfxBeginThread(RUNTIME_CLASS(CCalculateThread));
    pThread->PostThreadMessage(WM_CALCULATE,5,NULL);
      

  3.   

    CMainFrame::OnCreate
    CDoument::OnDocumentComplete
      

  4.   

    重载这个函数,然后在里面写代码,也能实现。
    MainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)