-PR-
解決済み

C-Builderで数値(数字)以外を入力出来ない様にしたい。

  • 暇なときにでも
  • 質問No.1585877
  • 閲覧数2388
  • ありがとう数3
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 82% (128/155)

C-Builder V5 で数値(数字)を入力すべきところで、実行時に文字等を入力すると、システムからエラーメッセージが表示されるので、これを防ぐ為にEditで入力時に数字以外をはじきたいのですが、可能でしょうか。

以前C-Builder V4で作った時は出来た様な気がしたのですが、どの様にやったか思い出せないでいます。

ネットではC-Builderのサンプルが見つからず、Delphiのサンプルでは昔の記憶と同じ処理を行っていましたが、これだと文字判定以前にEditの枠に既に文字が入ってしまっており、文字の排除が出来ませんでした。
どなたか数字以外をはじく方法ご存知の方、お教え下さい。

// Edit1->ImeMode = imDisable; // 初期化部分で実行

void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key<48 || Key>57)
{ Key = 0;
}
}
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

KeyPressイベントでできます。

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if(Key < '0' || Key > '9')
Key = '\0';
}
お礼コメント
TinyPine

お礼率 82% (128/155)

有難う御座いました。KeyDown、KeyUp等色々やったつもりでしたがKeyPressを抜かしていた見たいです。
投稿日時 - 2005-08-17 18:33:45
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

ページ先頭へ