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

📄 editexstr.cpp

📁 控件串口简单事件触发,通过串口对控件进行通信
💻 CPP
字号:
// EditExStr.cpp : implementation file
//

#include "stdafx.h"
#include "HTKJ.h"
#include ".\editexstr.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyEdit

CMyEdit::CMyEdit():
 m_nValidStrLen(0)
,m_bCanBeZeroLen(TRUE)
{
}

CMyEdit::~CMyEdit()
{
}

IMPLEMENT_DYNAMIC(CMyEdit, CEdit)

BEGIN_MESSAGE_MAP(CMyEdit, CEdit)
	//{{AFX_MSG_MAP(CMyEdit)
	//}}AFX_MSG_MAP

//	ON_CONTROL_REFLECT(EN_SETFOCUS, OnEnSetfocus)
ON_WM_SETFOCUS()
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyEdit message handlers

CString CMyEdit::get_Value()
{
	CString txt;
	GetWindowText(txt);

	return txt;
}

void CMyEdit::put_Value(CString inStr)
{	
	SetWindowText (inStr);
}
void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值

	CEdit::OnChar(nChar, nRepCnt, nFlags);
}
BOOL CMyEdit::PreTranslateMessage(MSG* pMsg)
{
	// TODO: 在此添加专用代码和/或调用基类

	switch(pMsg->message)
	{	
	case WM_KEYDOWN:
		switch(pMsg->wParam)
		{
		case VK_RETURN:
			pMsg->wParam = VK_TAB;
		default:
			break;
		}

		break;
	default:
		return CEdit::PreTranslateMessage(pMsg);
	}

	return CEdit::PreTranslateMessage(pMsg);
}

BOOL CMyEdit::IsAllValid()
{
	return IsLenValid();
}

BOOL CMyEdit::IsLenValid(void)
{
	if(!get_CanBeZeroLen())
	{
		if(get_StringLength() != m_nValidStrLen)
			return FALSE;			
	}
	else
	{
		if(get_StringLength() != m_nValidStrLen
			&& get_StringLength() != 0)
			return FALSE;					
	}
	return TRUE;
}

void CMyEdit::put_EditType(enum _emEditType type)
{
	m_typeEdit = type;
}

int CMyEdit::get_EditType()
{
	return m_typeEdit;
}

void CMyEdit::put_ValidStrLen(UINT nNewLength)
{
	m_nValidStrLen = nNewLength;
}

int CMyEdit::get_StringLength()
{
	return get_Value().GetLength();
}

void CMyEdit::put_CanBeZeroLen(BOOL bZero)
{
	m_bCanBeZeroLen = bZero;
}
BOOL CMyEdit::get_CanBeZeroLen()
{
	return m_bCanBeZeroLen;
}
LRESULT CMyEdit::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
	// TODO: 在此添加专用代码和/或调用基类

	return CEdit::WindowProc(message, wParam, lParam);
}


void CMyEdit::PreSubclassWindow()
{
	// TODO: 在此添加专用代码和/或调用基类

	CEdit::PreSubclassWindow();
}

void CMyEdit::OnSetFocus(CWnd* pOldWnd)
{
	CEdit::OnSetFocus(pOldWnd);

	// TODO: 在此处添加消息处理程序代码
//	int nNext=GetNextPos(0);

	SetSel(0, -1);
}

//CMyEditCorpEan
IMPLEMENT_DYNAMIC(CMyEditCorpEan, CMyEdit)

CMyEditCorpEan::CMyEditCorpEan() :CMyEdit()
{
//	put_ValidStrLen(LEN_CROPEAN);
	put_ValidStrLen(10);
	put_CanBeZeroLen(FALSE);
}

//CMyEditCoprSeri
IMPLEMENT_DYNAMIC(CMyEditCoprSeri, CMyEdit)
CMyEditCoprSeri::CMyEditCoprSeri():CMyEdit()
{
//	put_ValidStrLen(LEN_CORP_SERIAL);
	put_ValidStrLen(10);
	put_CanBeZeroLen(TRUE);
}

//CMyEditSuppEan
IMPLEMENT_DYNAMIC(CMyEditSuppEan, CMyEdit)
CMyEditSuppEan::CMyEditSuppEan():CMyEdit()
{
//	put_ValidStrLen(LEN_PROVIDER_EAN);
put_ValidStrLen(10);
	put_CanBeZeroLen(TRUE);
}


//CMyEditSuppSeri
IMPLEMENT_DYNAMIC(CMyEditSuppSeri, CMyEdit)
BEGIN_MESSAGE_MAP(CMyEditSuppSeri, CMyEdit)
	ON_WM_CHAR()
	ON_WM_KILLFOCUS()
END_MESSAGE_MAP()

CMyEditSuppSeri::CMyEditSuppSeri():CMyEdit()
{
//	put_ValidStrLen(LEN_PROVIDER_SERIAL);
put_ValidStrLen(10);
	put_CanBeZeroLen(TRUE);
};




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -