フォーム切替時に全画面のコンボの残像が新画面上に残ってしまいます

解決


Campus  2004-09-17 23:57:06  No: 10970

Form1とForm2を用意し、1をメインフォームとするために初期設定で2をHideしています。
1と2のフォーム切替用ボタンSpeedButton1があり、
KeyDownイベントで、ショートカットキーを割り当てています。

*** KeyDownイベント ***

if Key = VK_F4 then
begin
   SpeedButton1.click;
end;

***********************

1と2を交互にShowとHideで表示/非表示させています。

*** SpeedBottun1Clickイベント*********************

//アクティブなフォームが1の場合(2がHideの場合)
Self.Hide;
Form2.Show;

**************************************************

マウスのクリック(SpeedButton1)は問題ないのですが、
KeyDownイベントからSpeedBottun1Clickイベントに入ったときに不具合が出ます。

Form1のActiveControlがコンボボックスにあるときに押下し、
Form1をHide、Form2をShowした直後、
Form2の前面にHideしたはずのForm1のコンボボックスが
DropDownした形で残像が残ってしまいます。
同じクリックイベントを通過してるはずなのですが、
なぜKeyDownイベントの有無で結果が異なるのでしょうか?
識者の方々、ぜひご教授ください。


ふぐちゃん  2004-09-18 01:00:52  No: 10971

F4キーはコンボボックスをドロップダウンさせるショートカットキーです。
他のキーを割り当てると回避できると思います。


Campus  2004-09-18 02:43:21  No: 10972

ふぐちゃんさんありがとうございました。
どおりで何度ステップ実行してもわからないはずでした。

もしご存知ならば、他のファンクションキーで、
そういう特殊なショートカットがあったら教えていただけませんでしょうか?


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

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






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