2011-04-06 15 views
7

まず、私はすでに対象に関するすべての記事を読みましたが、私の質問には答えがまだありません。また、私の質問は他のものと少し異なります。
今日はSkypeのウィンドウを見ています。タイトルバーに1つの余分なボタンがあります。しかし、このボタンはネイティブシステムボタンとして機能します。ちょうど光って見て、それは窓の外に広がる。だから私は合理的な質問があります。それによると、下の図に示すように、タイトルバーに余分なボタンを追加する標準的な方法があります。しかし、subjのすべての答えは、WM_NCPAINTイベントと余分なボタンの手動描画のフックにつながります。このアプローチは仕事ですが、絵のように美しい光を放つことはできませんでした。
誰かがウィンドウのタイトルバーに独立ボタンを追加する方法を知っていますか? ありがとうございます!
enter image description hereウィンドウのタイトルバーに余分なボタンを追加するには、標準で動作するようにするにはどうすればいいですか?

+0

私はすべてのタイトルバーのボタンはカスタム1 – anishMarokey

+0

@anishMarokeyかもしれないと思います。はい、私は同じ仮定をしていますが、どのようにそのような輝きを放つのですか? –

答えて

3

VistaとWindows 7には、デスクトップウィンドウマネージャという新しいものがあります。これは "Aero glass"ウインドウのタイトルバーを描き、グロー効果をかけるのに使われます。 WM_NCPAINTハンドラを実装するWindows XPの古いアプローチは、この新しいシステムでは機能しません。したがって、新しいAPIをまったく使用する必要があります。

あなたが尋ねていることをやっているときにいくつかの記事を見たことがありますが、今すぐ見つけることはできません。あなたにいくつかのリードを与えるかもしれない一部のページは、次のとおりです。

+0

あなたの3番目のリンクはこの質問を指しているので、それはあまり役に立ちません;) –

+0

はい、3番目のリンクはこの質問で死んだループをもたらします:)いずれにせよ答えをありがとう、私は慎重にすべてのリンクを探検します –

+1

申し訳ありません、私は別のページからコピーしましたが、翻訳でURLを失っているに違いありません。 (私がリンクした質問には本当に素晴らしい答えがありますが: –

1

はい、これが可能(と間違いなくです)WM_NCPAINTをフックし、それに応じて、そのボタンをペイントすることにより行われます。 "グロー"は、適切な色とシェーディングを選ぶだけです(ボタンの近くにいくつかの "グロー"を表示するためにアルファブレンディングを行うこともあります)。

+0

うわー!ありがとう、ジェリー、あなたの答えです!あなたは私にそのようなものを陰影付けすることについてもっと学ぶことができる方法をアドバイスできますか? –

+0

@Anton:このような小さなものは、Photoshopのようなもので手作業で行われていると思います。トピックの代替は、ボタンの曲面の3Dモデルを作成し、DirectXやOpenGLのようなものでレンダリングし、それを作成してキャプチャして、ボタンを描画するビットマップとして使用することです。 –

関連する問題