ウィンドウを半透明化するAPI(Windows2000 or XPのみ)を使用したクラスファイルです。(サンプルソース付)
VB.NET以降?では、フォーム自体にOpacityプロパティがあり0.1~1.0の値を代入すると半透明化ができるらしいです。
しかし、VB6.0以前にはそのようなプロパティはないのでクラスで再現してみました。同じようなものをプロのプログラマが公開しているかもしれませんが良ければあなたのプロジェクトに組み込んでみてください。
ソースを見てもらえば分かると思いますが結構雑です。
もし、ソースに間違い・ご要望・ご意見・ご質問等ございましたらコメントかメールを頂けると私(Assy)が喜びますのでいつでもどうぞ!!
■開発履歴
v0.1 (2006/01/19 23:00:46)
・ソース初公開
・Opacityプロパティにて半透明化するのみのバージョン
v0.2 (2006/04/28 23:20:00)
・Wnd_Handleプロパティを削除し、Formプロパティを追加
・TopMostプロパティ追加(フォームを最前面に表示)
・Targetプロパティの追加(半透明化する対象ウィンドウ)
1.全てのウィンドウ
2.アクティブウィンドウのみ
3.ディアクティブウィンドウのみ
■使用方法
1.プロジェクトにcTransparency.clsを追加
2.クラスの宣言(ex:Private clsTransWindow As cTransparency)
3.クラスを参照(ex:Set clsTransWindow = New cTransparency)
4.Formプロパティに半透明化するウィンドウのFormオブジェクトをセット(ex: clsTransWindow.Form = Me)
5.Opacityプロパティに半透明度(10-100)をセット
6.状況に合わせてTopMostとTargetプロパティをセット
■注意事項
Targetプロパティはあくまでも同じプロジェクト内のフォームを対象としていますので他アプリとは連携しません。コードを改造すれば可能だと思いますが・・・
■著作権について
基本的には著作権は放棄しておりませんが、このソースを使用・改造・もしくは使用したソフトを配布するのはご自由に行って構いません。
出来れば、私(Assy)の名を入れていただくとうれしい限りです。

comments (0)trackbacks (0)
「[VB6] Transparency Class v0.2」の評価です。