📄 irprtview.cpp
字号:
// irprtView.cpp : implementation of the CIrprtView class
//
#include "stdafx.h"
#include "irprt.h"
#include "irprtDoc.h"
#include "irprtView.h"
#include "Ircomm.h"
#include "irset.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CIrprtView
IMPLEMENT_DYNCREATE(CIrprtView, CEditView)
BEGIN_MESSAGE_MAP(CIrprtView, CEditView)
//{{AFX_MSG_MAP(CIrprtView)
ON_WM_CREATE()
ON_WM_SETFOCUS()
ON_WM_DESTROY()
ON_COMMAND(ID_Print, OnPrint)
ON_COMMAND(ID_IrPrintSet, OnIrPrintSet)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CIrprtView construction/destruction
CIrprtView::CIrprtView()
{
// TODO: add construction code here
Port=0;
Baud=9600;
}
CIrprtView::~CIrprtView()
{
}
BOOL CIrprtView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
BOOL bPreCreated = CEditView::PreCreateWindow(cs);
cs.style &= ~(ES_AUTOHSCROLL|WS_HSCROLL); // Enable word-wrapping
return bPreCreated;
}
/////////////////////////////////////////////////////////////////////////////
// CIrprtView drawing
void CIrprtView::OnDraw(CDC* pDC)
{
CIrprtDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CIrprtView diagnostics
#ifdef _DEBUG
void CIrprtView::AssertValid() const
{
CEditView::AssertValid();
}
void CIrprtView::Dump(CDumpContext& dc) const
{
CEditView::Dump(dc);
}
CIrprtDoc* CIrprtView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CIrprtDoc)));
return (CIrprtDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CIrprtView message handlers
int CIrprtView::OnCreate( LPCREATESTRUCT lpCreateStruct )
{
int iResult = CView::OnCreate(lpCreateStruct);
if(iResult == 0)
ShowDoneButton(TRUE);
return iResult;
}
void CIrprtView::OnSetFocus(CWnd* pOldWnd)
{
CView::OnSetFocus(pOldWnd);
//::SHSipPreference(m_hWnd, SIP_UP);
}
void CIrprtView::OnDestroy()
{
//::SHSipPreference(m_hWnd, SIP_FORCEDOWN);
CView::OnDestroy();
}
BOOL CIrprtView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}
void CIrprtView::OnPrint()
{
// TODO: Add your command handler code here
int i;
unsigned char c[2];
int j,k;
TCHAR ws[4096];
char bs[8192];
int len,linecount;
CEdit& pTxt = GetEditCtrl();
pTxt.FmtLines(FALSE);
if(!OpenComm(Port,Baud))
{
MessageBox( TEXT("OPEN Ir Port ERROR") , TEXT("ERROR") , MB_OK );
return;
}
//pTxt.ge
memset(ws,0,4096);
memset(bs,0,4096);
pTxt.GetWindowText(ws,4096);
wcstombs(bs,ws,2*wcslen(ws));
len=strlen(bs);
bs[len]=13;
bs[len+1]=10;
bs[len+2]=0;
WriteComm((unsigned char *)bs,len+2);
//pTxt.FmtLines(TRUE);
/* linecount=pTxt.GetLineCount();
for(i=0;i<linecount;i++)
{
memset(ws,0,1024);
memset(bs,0,1024);
pTxt.GetLine(i,ws,1023);
wcstombs(bs,ws,2*wcslen(ws));
if(bs[0]=='?'&&bs[1]==0) len=0;
else len=strlen(bs);
bs[len]=13;
bs[len+1]=10;
bs[len+2]=0;
WriteComm((unsigned char *)bs,len+2);
}*/
CloseComm();
}
void CIrprtView::OnIrPrintSet()
{
// TODO: Add your command handler code here
int r;
TCHAR msg[100];
CIRSET IrSet(Port,Baud);
r=IrSet.DoModal();
switch(r)
{
case IDOK:
if(!wcscmp(IrSet.m_Ir_Set,TEXT("RIr")))
Port=1;
else if(!wcscmp(IrSet.m_Ir_Set,TEXT("IrComm")))
Port=0;
else Port=0;
//Port=IrSet.m_IR_Combo.GetCurSel();
Baud=_wtoi(IrSet.m_Baud.GetBuffer(10));
wsprintf(msg,TEXT("PORT:%ls\nBaudrate:%d"),IrSet.m_Ir_Set,Baud);
MessageBox(msg,TEXT("INFO"),MB_OK);
break;
case IDCANCEL:
break;
default:
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -