ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

Edit に 0〜9 以外は入力させない  

更新 : 2010/05/11

 



解説:
Edit コンポーネントはユーザーに何か入力してもらい、その入力値を活用するときなどに使います。逆にどこかで取得した値を変数に入れておいて、Edit 表示時デフォルト値として代入するのもよくやる方法です。

入力時に IME を制御したり、数字入力と同時にカンマを表示、アルファベットだけを入力させる、入力が不要な場合は Enabled プロパティを false にしてユーザーを混乱させない、などユーザーインターフェイスを考えるかどうかで使い勝手がずいぶん変わるのも Edit です。入力させるだけ、というのではなく適度な入力制限をして使いやすくしたいものです。

使用例:
以下の例では、Edit に 0〜9 (テンキー対応)以外は入力できないようにしています。

Edit を適当に配置してください。

Edit1 には 0〜9 以外は入力できなくなっているはずです。

//-------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
    // 0〜9 以外は入力させない(Shift が押されても無視)。
    // Key パラメータの仮想キーコードから押されたキーを判定
    if (Shift.Contains(ssShift) || ((Key < 96 || Key > 105) && (Key < 48 || Key > 57))) {
        Key = 0;
        Edit1->Text = "";
    }
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.