こんばんは。
質問です。MSNメッセンジャーというソフトは
タイトルバーの表示非表示が選べます。
これをまねしたくて、
DelphiでいうところのForm.BordeStyleがbsNoneとbsSizeableとで
切り替わっているのかと思っていたのですが
WindowメッセンジャーのWindowに対してRectを取得したりすると
タイトルバーが透明になっているだけで領域として
は存在しているようでしたので、bsNoneという状態ではなさそうなのです。
これはどのようにして実現しているのでしょうか?
VistaではFormを表示するときに、ふわっ、と浮き出すような
効果がありますが、bsNoneのFormに対してはそれが効果がつきません。
bsNoneにするようなスプラッシュウィンドウでも
ふわっと浮き出す効果を使ってみたいので
タイトルバーなどの枠を非表示にしてみたいので
こういう質問内容になりました。
ご存じの方、教えてください。
よろしくお願いします。
リージョンでクリッピングしてるとか?
透明化というのは、本来あるところが透明になってるけど、マウスでは
下のウィンドウを触れない、ってことですか?
それとも、まったくなくなってるってことですか?
お返事ありがとうございます。
そう。微妙なのですが
Windowsメッセンジャーは
GetSetWindowRect系のAPIをつかうと、タイトルバーとメニュー部分が
存在するかのような動作になるのですが
実際には非表示なんですよ。
リージョンだな、たぶん。
教えてくださって、ありがとうです。
ツイート | ![]() |