透明ウィンドウのサポート
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/01 06:22 UTC 版)
「NWSTK」の記事における「透明ウィンドウのサポート」の解説
全ての対応プラットフォームで透明 Window に対応している。例えば、Windows版でも、透明化WindowがChildWindowにはサポートされていないところのWinXPにおいても、Win32のEDIT Controlですら透明化できる。技術的には、Windowを独自にバックサーフェイス(メモリーDC)上で合成することによって実現している。Win32 Edit Controlの場合は、Windowを何枚も重ねることにより、本当の Edit Control と同じ座標で、見えない奥の方に隠し、そのWndFuncをフックしてメモリーDC上に描画させ、メインのバックサーフェイス上で透明重ね合わせをしたものを、画面上に描画する仕組みをとっている。ただし、この仕組みを用いると僅かではあるが速度低下が起きる。3Dゲームではそれが問題になることもあるので、OpenGLなどの描画はこの仕組みをカットして物理画面のHDC(デバイスコンテキスト)にダイレクトに描画することもできるようなモードも持っている。
※この「透明ウィンドウのサポート」の解説は、「NWSTK」の解説の一部です。
「透明ウィンドウのサポート」を含む「NWSTK」の記事については、「NWSTK」の概要を参照ください。
- 透明ウィンドウのサポートのページへのリンク