「タスクバーに子フォームを表示」について


ユッケ  2008-03-08 02:38:46  No: 30105

http://big2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=0&refresh=1#0005.txt

に書いてある通りにすると、親フォームからボタンを押して、
子フォームをShowした時にタスクバーにアイコンが追加されます。

が、Showなのでもっかい親フォームからボタンを押すと、もう一つタスクバーに表示されてしまって、無限に出てきます。。。

2回目以降の起動を知り、表示させないためにはどうすればよろしいでしょうか?

それとこの処理は子フォームの方に記述しなければならないみたいなんですが、親の方から制御する事は出来ないでしょうか?
どなたかご存知の方ご教授お願いします。


KHE00221  2008-03-08 03:54:28  No: 30106

こうかな?

Form2 はプロジェクトから削除しておいて

procedure TForm1.Button1Click(Sender: TObject);
begin
    if Assigned(Form2) = False then
    begin
      Form2 := TForm2.Create(Self);
      SetWindowLong(Form2.Handle,GWL_EXSTYLE,GetWindowLong(Form2.Handle,GWL_EXSTYLE) + WS_EX_APPWINDOW);
    end;
    Form2.Show;
end;


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

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






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