[VB6] Phantom Class v0.3

▶ in Visual Basic 6.0 > Class posted 2006.07.16 Sunday / 22:39

Visual Basic 6.0用の自作クラスファイルです。
ファントムクラスとは、ウィンドウを亡霊のようにマウスでつかめないようにするものです。
もちろん、それだけじゃ終了もできないのでコントロールキーを押した状態でマウスカーソルを近づけるとウィンドウを消さない仕様にしてあります。


このクラスファイルは、ご自由に改変して使用しても良いです。
出来れば、リンクをしていただけると私(Assy)が喜びます。

詳しい使用方法は、ソースファイル同梱のphantom.txtをご覧ください。

以下、更新履歴です。
■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プロパティ)


Download

[VB6] Transparency Class v0.2

▶ in Visual Basic 6.0 > Class posted 2006.07.16 Sunday / 22:09

ウィンドウを半透明化する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)の名を入れていただくとうれしい限りです。


Download
PAGE TOP