いつもお世話になっております。
Delphi2010+WindowsXPで開発をしています。
TDBCtrlGrid内に2つのTDBEditを貼り付けておいて、
Enterキーが押下されたら次のTABOrderのコントロールに移動するように
制御したいのですが、どうにも上手く出来ません。
現象としては、TDBCtrlGridにフォーカスが来てTDBEditにフォーカスを
渡すまでは良いのですが、値を入力しEnterを押下するとフォーカスは
無くなるのですが、次のTDBEditに移動しません。
TDBEditのOnKeyPressイベントでKey = #13の時、
SendMessage(Form.Handle, VM_NEXTDLGCTL,0,0)で
移動させようとしているのですが、考え方が間違っているのでしょうか?
(Form.HandleをForm.DBCtrlGrid.Handleに変えてみても駄目でした。)
動かない原因や実現方法が分かる方が居ましたらご教授頂けると助かります。
宜しくお願い致します。
D7+WinXPではこれで出来ますね。
procedure TForm1.DBCtrlGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then begin
key:=0;
DBCtrlGrid1.DoKey(gkNextTab)
end;
end;
Kenny様
提示して頂いたソースでバッチリ出来ました。
数時間悩んでいたので、本当に助かりました。
ありがとうございました。
ツイート | ![]() |