タスクバー非表示&自在に最小化 するには?

解決


たかみちえ  URL  2003-08-06 16:50:36  No: 4332

タスクトレイにアイコンを表示し、常駐するソフトで、
タスクバーに非表示にし、さらにソフト内から命令でフォームを元に戻したり、最小化したりしたいんですけど、
なかなか他のソフトのようにいきません。
(画面下にあとが残ったり、見た目は最小化しなかったり…)
  Application.Minimizeだけでも、見た目はちゃんと最小化しますが、
タスクトレイアイコンのメニューを出したとたんに、下に跡が見えてしまいます。
  メインフォームとして使うので、ツールダイアログスタイルをつけるわけにもいきません。
  希望としては、WWWCやKbMediaPlayerなどのように、最小化時タスクバー非表示で、
そうでないときはタスクバーにあると、いいんですけど…。
  どうすればいいでしょうか?

  こういうとき、Applicationオブジェクトが邪魔になりますよね。相当苦労してもらっているんでしょうけど…。

※ 質問してしまった直後で何ですけど、8日から一週間ほど留守にしますから、
返信が遅れることがあります。


にしの  2003-08-06 17:16:16  No: 4333

あっているかわかりませんが、
タスクトレイに入れるとき
ShowWindow(Application.Handle, SW_HIDE);

タスクトレイから出すとき
ShowWindow(Application.Handle, SW_SHOW);

で、Applicationの表示非表示を変更してもだめでしょうか。
# メニューの表示まで試していません


たかみちえ  URL  2003-08-07 16:41:44  No: 4334

うーん、だめでした。
WM_SYSCOMMANDで、SC_MINIMIZEがきたときに、ShowWindow(Application.Handle, SW_HIDE); とやってみたんですけど、
タスクバーから消えないです。やり方が悪いのかもしれませんけど…。

  Applicationに、WS_EX_TOOLWINDOWを追加してみると、
今度はメニューで表示するようになってしまいます。


にしの  2003-08-07 17:27:51  No: 4335

Application.OnMinimizeで処理してもだめでしょうか。

処理的には、タスクトレイに入れたいときには、Application.Minimize;を実行します。
Minimizeが実行されると、OnMinimizeが発生するので、ここでタスクトレイに格納します。
元に戻すとき、Restoreしないと、再度Minimizeができません。


XOOX  2003-08-07 20:52:05  No: 4336

これはぐだぐだ掲示板でどうこういうよりも
Torryなり国内のdelphinあたりにそういうコンポーネントがあるので
そういうものをぺたっとはっつけるのが初心者向き
ちゃんとくみたいならソース見ればWin32APIの使い方もでていると思います。

これはもう充分に枯れたネタであり
現状わからないということは
下手に組んでもなかなか収束しないと思うので
素直に人の成果を使うのがよいと思います。


にしの  2003-08-07 21:07:04  No: 4337

> これはぐだぐだ掲示板でどうこういうよりも
そうなると、この掲示板もあまり意味をなさなくなりますね。
ここで出てくる質問は、ほとんどが「枯れたネタ」ですから。

> 下手に組んでもなかなか収束しないと思うので
> 素直に人の成果を使うのがよいと思います。

これには賛成です。
この手が取れるなら、確かにそのほうがよいでしょう。


たかみちえ  URL  2003-08-21 04:04:58  No: 4338

ごめんなさい、とっても遅れてしまいました。

> Application.OnMinimizeで処理してもだめでしょうか。
  あっ。ごめんなさい、これを忘れていました。急いでいるときにプログラミングをするものじゃないですね。

  無事にうまくいきました。起動直後に最小化はちょっと怪しくなってしまいましたけど、
何とかできました。

にしのさんいつもありがとうございますm(__)m


たかみちえ  2003-08-21 04:05:17  No: 4339

解決マークを忘れてました。


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

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






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