TEditでONKeyDown・ONKeyPressでVK_RETURNが認識されません

解決


ヒロポン  2006-05-26 13:54:14  No: 21842  IP: 192.*.*.*

初心者で申し訳ありません
TEditでONKeyDown・ONKeyPressいずれかのイベントにて
VK_RETURNを判断して次の項目へ移動したいのですがうまく
動作してくれません。お手数ですが記述を教えてくださいますよう
お願いいたします。
うまく動作しなかった記述を下記にしすします。
if Key =  VK_RETURN then  ←ONKeyDownのイベントにて
if Key = Char(VK_RETURN) then  ←ONKeyPressのイベントにて

if Key =  VK_END  then  ←ONKeyDownのイベントにて正常に認識できました。

編集 削除
マリン  2006-05-26 14:07:44  No: 21843  IP: 192.*.*.*

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13  then Caption:='0000000';
end;

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = Word(#13)  then Caption:='1111111';
end;

これでどうでしょう?
どちらでも、反応してるみたいです。テンキーも受けるみたいですね。

編集 削除
ヒロポン  2006-05-26 14:40:47  No: 21844  IP: 192.*.*.*

マリンさん
早速のご返答ありがとうございます。
マリンさんの記述にそって対応してみましたが、
『TMemo』であれば正常に動作できますが『TEdit』では反応しませんでした。
『TEdit』でなにか他に設定が抜けているような感じがしています。
お手数をおかけしますが、初心者なのもでよろしくお願いいたします。

記述がなくて申し訳ありませんでしたがDelphi5にて開発を行っております。

編集 削除
マリン  2006-05-26 14:52:41  No: 21845  IP: 192.*.*.*

失礼。集中力の欠如ですね。他に気が回っていると・・・。
で、D4 では、TEdit でも問題なく動いてるようですが?

編集 削除
マリン  2006-05-26 14:56:42  No: 21846  IP: 192.*.*.*

D6 Personal でもOKですけど?
何か思ってることが双方で違うのかも・・?

編集 削除
igy  2006-05-26 15:03:11  No: 21847  IP: 192.*.*.*

>『TEdit』では反応しませんでした。

実際のコードは、どういう風に記述してます?

編集 削除
マリン  2006-05-26 15:05:10  No: 21848  IP: 192.*.*.*

これかなぁ???

TWinControl.TabStop

TWinControl     参照

TabStop プロパティは,コントロールにタブ操作で移動できるかどうかを決めます。

property TabStop: Boolean;

説明

TabStop プロパティは,〔Tab〕キーによるコントロールへのアクセスを許可するかどうかを決められます。
TabStop が True ならば,コントロールがタブ順に入ります。TabStop が False ならばコントロールはタブ順に入らないため,ユーザーは〔Tab〕キーを押してもコントロールへ移動できません。

注意

フォームがほかのフォームを親として指定しないかぎり,TabStop はフォームにとって意味を持ちません。

編集 削除
ヒロポン  2006-05-29 12:26:37  No: 21849  IP: 192.*.*.*

マリンさんigyさんレスありがとうございました。
自分もいろいろ悩んでしまい、最初からコンポーネントを
張りなおして現象確認を行いながら対応しました。
どうしてそうなったかは不明ですが、
TEdit・OpenDialogとの関連によってこの現象が発生したようです?
具体的な内容は抑えるさとができませんでしたが・・・・
初回にマリンさんよりレスいただいた内容で正常に動作できるように
なりました。
大変ありがとうございました。今後ともよろしくお願い申し上げます。

編集 削除