はじめまして、smymsと申します。
過去ログを探したのですが、見あたらなかったので、投稿します。
TDateTimePickerでKindプロパティがdtkDate、DateModeプロパティが
dmComboBoxのときになのですが、実現したい動作は下記の通りです。
①TDateTimePickerにフォーカスセットでカレンダーをドロップダウン
②そのまま変更せずにENTER押下で、カレンダーをクローズ
②は何もしなければ、その通りの動作をするのですが、
過去ログを参考にさせて頂いて下記のコーディングを行ったところ、
①はOKなのですが、②が出来なくなりました。
procedure TDateTimePicker1Enter(Sender: TObject);
begin
SendKeys('%{DOWN}',True);
end;
両方を実現するには、上記のコーディングは適さないのでしょうか?
どなたかご教授下さい。
宜しくお願いします。
SendKeysを使わずに、
keybd_event(VK_LMENU, 0, 0, 0);
keybd_event(VK_DOWN, 0, 0, 0);
keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0);
ではどうでしょう。
smymsです。
>SendKeysを使わずに、
>
> keybd_event(VK_LMENU, 0, 0, 0);
> keybd_event(VK_DOWN, 0, 0, 0);
> keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
> keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0);
>
>ではどうでしょう。
ありがとうございました。
上記のコーディングで上手くゆきました。
そこでもう一点ご質問です。
ENTER押下でカレンダーをクローズしたと同時に、次のコントロールにフォーカス
を移動する事は可能ででしょうか?
他のコントールでは、FormKeyPressイベントでENTER押下の場合、
下記で次コントロールにフォーカスを移動しています。
FindNextControl(Form1.ActiveControl, True, True, False).SetFocus
現在でも、ENTER押下でカレンダーをクローズした後、
再度ENTER押下でフォーカスは移りますが、クローズと同時というのは
難しいでしょうか?
Halbow です。
TDateTimePicker には OnCloseUp イベントがあるのですが
今の場合は使えないんでしょうか?
>TDateTimePicker には OnCloseUp イベントがあるのですが
>今の場合は使えないんでしょうか?
おっしゃる通りでございました・・・
無知ですみません・・・
ありがとう御座いました。
ツイート | ![]() |