Transparency Class とは?

ウィンドウを半透明化するAPI(Windows2000 or XPのみ)を使用したクラスファイルです。(サンプルソース付)
VB.NET以降?では、フォーム自体にOpacityプロパティがあり0.1~1.0の値を代入すると半透明化ができるらしいですが、VB6.0以前にはそのようなプロパティはないのでクラスで再現してみました。同じようなものをプロのプログラマが公開しているかもしれませんが良ければあなたのVisual Basicのプロジェクトに組み込んでみてください。
尚、ソースを見てもらえば分かると思いますが結構雑だと思います。

ダウンロードは下記のリンクから

Download

使用方法

  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 にあります。
  • 当ソースを利用した事によるいかなる損害も作者(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. ディアクティブウィンドウのみ

Previous post [VB6] マウスカーソルをウィンドウに近づけると消えるPhantom Class v0.3
Next post [VB6] ウィンドウプロシージャのサブクラス化サンプル v0.3

コメントを残す