タイトルバーを透明化(?)する方法

解決


Fusa  URL  2008-02-22 10:20:17  No: 29873

こんばんは。

質問です。MSNメッセンジャーというソフトは
タイトルバーの表示非表示が選べます。

これをまねしたくて、
DelphiでいうところのForm.BordeStyleがbsNoneとbsSizeableとで
切り替わっているのかと思っていたのですが
WindowメッセンジャーのWindowに対してRectを取得したりすると
タイトルバーが透明になっているだけで領域として
は存在しているようでしたので、bsNoneという状態ではなさそうなのです。

これはどのようにして実現しているのでしょうか?

VistaではFormを表示するときに、ふわっ、と浮き出すような
効果がありますが、bsNoneのFormに対してはそれが効果がつきません。

bsNoneにするようなスプラッシュウィンドウでも
ふわっと浮き出す効果を使ってみたいので

タイトルバーなどの枠を非表示にしてみたいので
こういう質問内容になりました。

ご存じの方、教えてください。
よろしくお願いします。


うんと  2008-02-22 15:27:02  No: 29874

リージョンでクリッピングしてるとか?

透明化というのは、本来あるところが透明になってるけど、マウスでは
下のウィンドウを触れない、ってことですか?
それとも、まったくなくなってるってことですか?


Fusa  2008-02-24 07:38:18  No: 29875

お返事ありがとうございます。

そう。微妙なのですが
Windowsメッセンジャーは
GetSetWindowRect系のAPIをつかうと、タイトルバーとメニュー部分が
存在するかのような動作になるのですが

実際には非表示なんですよ。
リージョンだな、たぶん。

教えてくださって、ありがとうです。


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

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






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