⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irprtview.cpp

📁 evc开发的基于WINCE3。0的手持打印机的驱动软件
💻 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 + -