1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#define WM_QUITMESSAGE WM_CCOMERROR+100
BEGIN_MESSAGE_MAP(CSerialDemoView, CFormView)
//{{AFX_MSG_MAP(CSerialDemoView)
ON_BN_CLICKED(IDC_BUTTON1, OnButtonCdeAT)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
ON_MESSAGE(WM_CCOMRCV, OnReceiveCom)
ON_MESSAGE(WM_CCOMEVENT,OnEventCom)
ON_MESSAGE(WM_CCOMERROR,OnErrorCom)
ON_MESSAGE(WM_QUITMESSAGE,OnQuitMessage)
END_MESSAGE_MAP()
LONG CSerialDemoView::OnReceiveCom(WPARAM ch, LPARAM port)
{
CCom *pCom=reinterpret_cast<CCom*>(ch);
char *szReceive;
int nr;
szReceive = new char [(nr=(pCom->SizeUsedInRXBuf()+1))];
memset(szReceive,0,nr);
pCom->ReadBuffer(szReceive,nr-1);
CString str;
m_Edit.GetWindowText(str);
str+=szReceive;
delete [] szReceive;
m_Edit.SetWindowText(str);
PostMessage(WM_QUITMESSAGE,ch,port);
return 0L;
}
//-------------------------------------------------------------
LONG CSerialDemoView::OnQuitMessage(WPARAM ch,LPARAM port)
{
//
CCom *pCom=reinterpret_cast<CCom*>(ch);
pCom->PortClose();
return 0L;
} |
Partager