You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
1.4 KiB
C++

2 years ago
// EditInput.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
//
#include "stdafx.h"
#include "CH91PayloadSoftware.h"
#include "EditInput.h"
// CEditInput
IMPLEMENT_DYNAMIC(CEditInput, CEdit)
CEditInput::CEditInput()
{
}
CEditInput::~CEditInput()
{
}
BEGIN_MESSAGE_MAP(CEditInput, CEdit)
ON_WM_CHAR()
END_MESSAGE_MAP()
void CEditInput::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// <20><>֤С<D6A4><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD>һ<EFBFBD><D2BB>
if (nChar == '.')
{
CString str;
// <20><>ȡԭ<C8A1><D4AD><EFBFBD><EFBFBD><E0BCAD><EFBFBD>е<EFBFBD><D0B5>ַ<EFBFBD><D6B7><EFBFBD>
GetWindowText(str);
if (str.Find('.') != -1)
{
//<2F>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
}
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD>һ<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ڵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
else if (nChar == '-')
{
CString str;
GetWindowText(str);
if (str.IsEmpty() )
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
else
{
int nSource, nDestination;
//<2F><>ǰѡ<C7B0>б<D0B1><E0BCAD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
GetSel(nSource, nDestination);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ڵ<EFBFBD>һ<EFBFBD><D2BB>λ<EFBFBD><CEBB>ʱ
if (nSource == 0)
{
//nDestination = nSourceʱ<65><CAB1>ʾδѡ<CEB4><D1A1>
//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>str<74><72><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD>'-'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (str[0] == '-' && nDestination == 0)
{
}
else
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
else
{
}
}
}
//С<><D0A1><EFBFBD><EFBFBD><E3A3AC><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>backspace, delete
else if( (nChar>='0' && nChar<='9') || (nChar == 0x08) || (nChar == 0x10) )
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
//<2F><><EFBFBD><EFBFBD><E0B2BB>Ӧ
else
{
}
//CEdit::OnChar(nChar, nRepCnt, nFlags);
}