Window-05 エディットボックスに数字以外を入力できなくする
Q あるエディットボックスに、確実に数字のみを入力させたいのです。その方法は?
A SendMessage関数でメッセージを送りましょう。
どう使う?
'※RADツールで作成したウィンドウMainWnd上に、
'エディットボックスEditBox1が存在していることとする。
SetWindowLong(GetDlgItem(hMainWnd,EditBox1),GWL_STYLE, _
GetWindowLong(GetDlgItem(hMainWnd,EditBox1),GWL_STYLE) Or ES_NUMBER)
'↑を実行後 数字しか入力できなくなる
これで終了です。簡単でしょ?
それもそのはず、実はこれだけでは欠陥があります。
キーボードからは確かに入力できませんが、文字列をコピーし、エディットボックス内を右クリックし「貼り付け」をクリックすると、数字以外のものも簡単に入力できてしまいます。
私としてはこれでは気が済みませんので、徹底的に貼り付けもできないようにしてしまいます。
これは次のWindow-06でご紹介します(徹底的に貼り付けできなくする方法だけを単独で使いたい、という方のために)。