ファントムクラスとは?
ウィンドウを亡霊のようにマウスでつかめないようにするもので、マウスカーソルをウィンドウに近づけると消えるVisual Basic 6.0用の自作クラスファイルです。
もちろん、それだけじゃ終了もできないのでコントロールキーを押した状態でマウスカーソルを近づけるとウィンドウを消さない仕様にしてあり、元は拙作ソフトウェアZIEXに搭載しているファントムモードをクラス化したものです。フェードイン・フェードアウト機能及び半透明度も設定できます。(Win2000,XPのみ)
ダウンロードは下記のリンクから、サンプルソース付きです。
著作権・利用条件等
- 当ソースの著作権は Assy にあります。
- 当ソースを利用した事によるいかなる損害も作者(Assy)は一切の責任を負いません。
- ソースを使用・改造・もしくは使用したソフトを配布するのはご自由に行って構いません。
ファイル構成
mPhantom.bas 標準モジュール(タイマーコントロールの代替品)
cPhantom.cls クラスファイル(メイン)
使用方法
- mPhantom.basとcPhantom.clsをプロジェクトに追加
- ファントムクラスの宣言(Public clsPhantom As cPhantom)←標準モジュールに宣言済
- オブジェクト変数にファントムクラスをセット (Set clsPhantom = New cPhantom)
- ファントム化するフォームをセット(必ず最初に記述)
- Fadeプロパティをセット(デフォルト値 True)
- Topmostプロパティをセット(デフォルト値 True)
- Opacityプロパティをセット(デフォルト値 100)
- EnabledプロパティをTrueにするとファントム化開始
- 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プロパティ)
関連記事