读书人

求大神帮忙解决一下这个有关问题吗。

发布时间: 2013-07-09 09:50:48 作者: rapoo

求大神帮忙解决一下这个问题吗。。
我在OnComm的函数中为啥用不了CDC呢,我想在OnComm函数中完成一个在串口接收到一个信息时,判断这个信息,然后触发一个命令,完成一个位图替换的程序,求大神帮忙,到底应该怎么做。。
[解决办法]
发消息,让窗口去处理换图片的事
[解决办法]
自己定义消息。
[解决办法]
PostMessage

OnComm处理函数应该是在另外一个线程
[解决办法]


//接受自定义消息类头文件定义,比如**view.h
#define WM_WORKFACE_SELECTED WM_USER+1
#define WM_SECTIONFACE_SELECTED WM_USER+2
class C**********OLPSView : public CView
{
// ............
afx_msg LRESULT OnVPOutterSet(WPARAM,LPARAM);
afx_msg LRESULT OnVPSectionSet(WPARAM,LPARAM);
}

//cpp文件
BEGIN_MESSAGE_MAP(CGCSprayingOLPSView, CView)
//{{AFX_MSG_MAP(CGCSprayingOLPSView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
ON_MESSAGE(WM_WORKFACE_SELECTED,OnVPOutterSet)
ON_MESSAGE(WM_SECTIONFACE_SELECTED,OnVPSectionSet)
END_MESSAGE_MAP()

LRESULT C******OLPSView::OnVPOutterSet(WPARAM w,LPARAM l)
{
//TODO:ADD HERE
}

LRESULT C******OLPSView::OnVPSectionSet(WPARAM w,LPARAM l)
{
//TODO:ADD HERE
}


//在你的OnComm事件处理函数中发送消息

::PostMessage(m_hWnd,WM_USER+1,planeid,0); //后两个参数对应WPARAM w,LPARAM l

读书人网 >VC/MFC

热点推荐