|
|
|
|
// 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);
|
|
|
|
|
}
|