エディットコントロールへの文字入力を制限するには?

[戻る]
ノンノ@初心者 2001/06/14(木) 17:44:58
はじめまして、MFCで画面制作中のノンノ@初心者です。
VCのエディットコントロールへの文字入力制限を以下のようにかけたいのですが…

1.数値のみ入力可能にする(数値以外は入力不可)
2.半角のみ入力可能にする(全角は入力不可)
3.数値のみ入力不可にする(数値以外は入力可)

確かVBですと、
Text_KeyPress(Index as integer , KeyAscii as integer) イベントで
KeyAscii を ASCIIコード で比較して、該当するものには KeyAscii = 0 
で入力取消をすればO.Kでしたよね。

開発環境は
  OS:Win95/Win2000
  VC++6.0
  MFC
です。

どなたか知っていればぜひ教えてください。
よろしくお願いします。

材木屋 [E-Mail] 2001/07/04(水) 14:45:05
OnChar()の内で制御する方法があります。

Hal 2001/07/04(水) 15:47:33
Halです。
OnChar()内で、次のようにすると数値のみしか入力できなくなります。
後は、自分で考えてください。
if ((IsCharAlphaNumeric((TCHAR)nChar) == TRUE && IsCharAlpha((TCHAR)nChar) == FALSE)
  || (TCHAR)nChar == '\b') {    
  CEdit::OnChar(nChar, nRepCnt, nFlags);
}

それでは。

古いスレッドには追加発言できません。