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

解決


Fusa  URL  2008-02-22 01:20:17  No: 29873  IP: 192.*.*.*

こんばんは。

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

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

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

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

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

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

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

編集 削除
うんと  2008-02-22 06:27:02  No: 29874  IP: 192.*.*.*

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

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

編集 削除
Fusa  2008-02-23 22:38:18  No: 29875  IP: 192.*.*.*

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

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

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

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

編集 削除