DTPickerのカレンダーを閉じるには

解決


sato  2003-02-25 00:01:39  No: 77200

2つのアプリケーション間でメッセージ通信を行い、他アプリから終了のメッセージを受け取るようなプログラムを作成しています。
DTPickerで日付入力のコントロールを使用しているのですが、カレンダーを開いた状態で、外部からメッセージを受け取ったときにカレンダーを閉じたいのですがうまく動作せず困っています。
DTPickerのウィンドウハンドルを指定してWM_CLOSEメッセージを送信してみたのですが、日付の入力エリアが閉じるのみでカレンダーは開いたままです。
何かよい案はありませんでしょうか?
よろしくお願いします。


DotL  2003-02-25 06:55:50  No: 77201

SendMessageの前に、

keybd_event 27,1,0,0
keybd_event 27,1,2,0

を追加すれば一応できます。


DotL  2003-02-25 08:32:33  No: 77202

すみません。

DTPicker1.SetFocus
keybd_event 27,1,0,0
keybd_event 27,1,2,0

のようにして下さい。


DotL  2003-02-25 09:16:07  No: 77203

SetForeGroundWindow(送り先スレッドのウインドウハンドル)
keybd_event 27,1,0,0
keybd_event 27,1,2,0
SendMessage(DTPickerのウインドウハンドル,WM_CLOSE,0,0)

のほうがうまくいくみたいです。


sato  2003-02-25 23:18:25  No: 77204

ありがとうございます。
DotLさんの方法でできました。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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