ファントムクラスとは?

ウィンドウを亡霊のようにマウスでつかめないようにするもので、マウスカーソルをウィンドウに近づけると消えるVisual Basic 6.0用の自作クラスファイルです。
もちろん、それだけじゃ終了もできないのでコントロールキーを押した状態でマウスカーソルを近づけるとウィンドウを消さない仕様にしてあり、元は拙作ソフトウェアZIEXに搭載しているファントムモードをクラス化したものです。フェードイン・フェードアウト機能及び半透明度も設定できます。(Win2000,XPのみ)

ダウンロードは下記のリンクから、サンプルソース付きです。

Download

著作権・利用条件等

  • 当ソースの著作権は Assy にあります。
  • 当ソースを利用した事によるいかなる損害も作者(Assy)は一切の責任を負いません。
  • ソースを使用・改造・もしくは使用したソフトを配布するのはご自由に行って構いません。

ファイル構成

mPhantom.bas   標準モジュール(タイマーコントロールの代替品)
cPhantom.cls    クラスファイル(メイン)

使用方法

  1. mPhantom.basとcPhantom.clsをプロジェクトに追加
  2. ファントムクラスの宣言(Public clsPhantom As cPhantom)←標準モジュールに宣言済
  3. オブジェクト変数にファントムクラスをセット (Set clsPhantom = New cPhantom)
  4. ファントム化するフォームをセット(必ず最初に記述)
  5. Fadeプロパティをセット(デフォルト値 True)
  6. Topmostプロパティをセット(デフォルト値 True)
  7. Opacityプロパティをセット(デフォルト値 100)
  8. EnabledプロパティをTrueにするとファントム化開始
  9. EnabledプロパティをFalseにする(必ず解除しないとウィンドウプロシージャのサブクラス化が解除できません。)
プロパティ名説明
Formファントム化するフォームオブジェクト(必ず最初に設定する)
hWndフォームオブジェクトのウィンドウハンドル
Enabledファントム化のフラグ(True or False)
Opacity半透明度(10-100)
TopMost最前面に表示(True or False)
FadeTimeフェードイン・アウト時のフェードタイム
Fadeフェード効果のフラグ(True or False)
メソッド名説明
TransWindow半透明化
CursorCheckマウスカーソルの位置をチェック
OnCursorフォーム上にマウスカーソルが来た時に呼び出す
FadeInフェードイン
FadeOutフェードアウト
Set_TopMost最前面に表示
Set_NoTopMost最前面に表示を解除

更新履歴

v0.1 (2004/11/05)
  • 最初の公開
  • 当時ZIEXに搭載していたクラスを少し改良
v0.2 (2004/11/23)
  • CtrlKeyプロパティの削除
  • フェードイン・フェードアウト機能追加(Windows2000、XPのみ)
v0.3 (2006/06/12)
  • タイマーコントロールの代替にウィンドウメッセージのWM_TIMERを使用するように変更
  • AnimateWindowの代わりにSetLayeredWindowAttributesを使用するようにした(半透明と同じAPI)
  • 自作ソースTransparency Class v0.2 統合(Opacityプロパティ及びTopMostプロパティ)
Next post [VB6] ウィンドウを半透明化するTransparency Class v0.2

コメントを残す