[VB6] ウィンドウプロシージャのサブクラス化サンプル v0.3

▶ in Visual Basic 6.0 > Sample posted 2006.07.19 Wednesday / 00:05

ウィンドウプロシージャのサブクラス化のサンプルソースです。

サブクラス化するメリットとしてVBのイベント処理では処理できないイベントを数多く実装できるようになります。例えば、ホイールクリックとかアプリケーションのアクティブ・ディアクティブなどです。

■更新履歴
v0.1 (2006/03/23)
初公開
v0.2 (2006/04/09)
ウィンドウサイズを制限するコードを追加(詳しくはソースを見てください。)
v0.3 (2006/04/23)
IFディレクティブを使いコードを整理
タイマーメッセージを使用するタイマーイベントを追加

■v0.3の機能一覧
コントロールのアクティブ・ディアクティブを監視
ウィンドウサイズの制限
マウスホイールのイベントフック
ウィンドウサイズ変更(最大化・最小化)の監視
タイマーイベントのフック(タイマーコントロールの代替)

Download

[VB6] WinXPのVisualStyleを適用するmanifestファイルを作成するサンプル v0.1

▶ in Visual Basic 6.0 > Sample posted 2006.07.17 Monday / 00:13

VisualBasic6.0以前で開発したソフトウェアをWindowsXPのVisualSytleで表示させる方法です。

VisualStyleを適用させるにはmanifestファイルを使用して実現させなければなりません。
そこで、サンプルにはこのmanifestファイルを作成・削除するコードが書いてあります。
プロジェクトに追加して使用するとVisualStyleを適用するかしないかを選択できるようになります。
以下、簡単に説明します。

manifestファイルの中身は下記のXMLで書かれたコードです。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="アプリケーションの名前"
type="win32"
/>
<description>アプリケーションの説明</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>



アプリケーションの名前と説明はアプリに合わせて変更してください。

次に、VisualStyle適用前と適用後のスクリーンショットを載せて置きます。

ヴィジュアルスタイル適用前
ヴィジュアルスタイル適用後


■スクリーンショットを見れば分かると思いますが、かなり見た目が良くなります。しかし、注意事項があります。

  • このmanifestファイルは、WindowsXPでしか使用できません。他のOSでは、何の役にも立ちません。

  • ComCtl32.dll バージョン 6 がなければならない(SP6を導入していれば問題ないはずです。)

  • フレームコントロール内にオプションボタンを置くと黒くなってしまいます。これを避けるためにはピクチャーボックスを貼り付けその中にオプションボタンを配置するようにする。

  • ユーザーコントロール等サードパーティ製のコントロールを配置しているとコントロールがちらついたり消えたりする場合があります。


Download
PAGE TOP