M
Hallo
Ok achja ich hab das jetzt schnell so gelöst.
afx_msg void CEditFloat::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if ( (nChar >= '0' && nChar <='9') || (nChar == '.' && NoPointInText() )|| nChar == VK_BACK)
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
else
{
ShowBalloonTip(_T("Unacceptable Character"),_T("You can only type a number here."),TTI_ERROR);
MessageBeep(-1);
}
}
bool CEditFloat::NoPointInText()
{
CString text;
GetWindowText(text);
if (text.Find('.') == -1)
return true;
else
return false;
}
Dabei ist mir aufgefallen dass die CEdit-box die Fehlermeldung nicht lokalisiert.
Also hab ichs fürs erste gleich gemacht.
Das was mich halt etwas stört an der Lösung ist:
Dass es ja auf einem anderem System mit andere Sprache vielleicht nicht das "." als Trennzeichen gilt.
Kann man das irgendwie auslesen ?