TEditに数字入力に制限するには?

解決


まさ  2002-12-22 23:58:46  No: 2397

皆さん初めまして初心者です。勉強を始めたばかりです。よろしくお願いします。 環境: Win98 D7Pro

  TEditに数値入力しようと思い下記のように数字以外は入力不可にしたつもりだったのですが
英数字ともに入力可となってしまいます。どうすればよいのでしょうか?
  また数値欄なので、右詰め入力または右詰表示にしたいのですがプロパティを見ても
それらしきものがないので方法がわかりません。
ご教示願えればたすかります。

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key < ord('0')) or (Key > ord('9')) then
    Key := 0;
end;


風来坊  2002-12-23 02:18:09  No: 2398

このサイトのTipsに載ってます。
http://madia.world.coocan.jp/delphi/DelphiTips/sutiedit.htm

TEditで右詰めはできないかも?
TMemoで代用すれば可能ですが…。


まさ  2002-12-23 18:47:34  No: 2399

風来坊さん、できました、レスありがとうございます。
OnKeyPressイベントとは気づきませんでした。他にOnKeyDownイベントがあるため、このイベントは
キーを押しっぱなしにしたときに発生するものと解釈してしまいましたが、違うようですね。
  右詰表示はTMemoで出きることも確認しました。ただ下矢印キーを押すと入力データが一段上に
あがってしまうので、このへんは調べてみます。

  また初歩的な質問を皆さんにするかもしれませんがよろしくお願いします。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加