.NET特集
 N1.Web関連
 Q1.VS2005自作Visualizer
 R1.OpenCV

VB6特集
 S1.Net関連(95/98)
 S2.Net関連(NT)
 S3.コモンダイアログの拡張
 ├1.コモンダイアログのフック
 ├2.ダイアログリソースの使用
 └3.コモンダイアログの拡張
 S4.MailSlot関連
 S5.RAS関連
 S6.セキュリティ関連
 S7.FAX制御(Win2000)
 S8.ADSIの利用
 T1.グラデーションバー
 T2.アイコンメニュー
 T3.バーコード(NW7)

 コモンダイアログの拡張

よく寄せられる質問の中に、「コモンダイアログを拡張する方法が知りたい」というのが多くあります。 拡張とは、「選択したイメージファイルのビューを表示したい」などの標準のコモンダイアログでは、 サポートされていない機能を実装する事なのですが、これを実現するのには、 一段ずつステップを踏んで、各ステップごとの処理を理解しなければ実装する事は難しいと思います。 特に今回は、リソースを使用して実現しますので、これらを段階ごとに説明しながら、 「コモンダイアログの拡張」を実現していきます。また、GetOpenFileName関数を使用して、 コモンダイアログの拡張を実現しますが、あくまで拡張を行う為の説明ですので、 定数、構造体など省略している箇所もあります。(サンプルソース内では、一応説明は付けています。) 尚、解説ではリソースを作成するのに、Visual Studio のリソースエディタを使用しています。
 1.コモンダイアログのフック
コモンダイアログを拡張する基礎として、コモンダイアログのフックを行い、コモンダイアログの状態を取得します。 状態とは、「ファイルが選択された」、「フォルダが変更された」、「ヘルプボタンが押された」などの事をいいます。 これらの状態に対して、色々な処理を行う方法をここでは説明していきます。 また、デフォルトで表示されるコントロールのテキスト(開く、ファイルの場所、ファイル名...) などをカスタマイズします。ちょっとしたテクニックとして、コモンダイアログを任意の位置に表示する事もできます。
解説ページ
 2.ダイアログリソースの使用
通常、VBでプログラミングをしていて、ダイアログボックスをリソースを使用して表示する事は、 ほとんど無く、フォームのボーダースタイルをダイアログに設定して使用するのが普通ですが、 コモンダイアログを拡張するには、ダイアログリソースを使用して、色々カスタマイズするので、 ダイアログリソースを使用した、ダイアログボックスの表示方法をここでは解説します。
あくまで、コモンダイアログを拡張する為のステップとして解説するので、 普通にダイアログボックスを表示する場合には、このような方法は行わないで下さい。 (個人の意見:なんのメリットもないので...)
解説ページ
 3.コモンダイアログの拡張
1、2のステップを経て、やっとコモンダイアログの拡張を行います。サンプルでは、 「ファイルを開くダイアログ」で、選択されたビットマップのビューを表示する機能を実現します。 また、「開く」ボタンが押されたら関連付けられているアプリケーションより開けるようになっています。 この開く機能は拡張しなくてもデフォルトでも行えるのですが、ボタンが押された場合の処理方法を説明する為に付けました。
特に3で重要なのは、拡張に用いるダイアログテンプレートで、これさえ理解すれば1、 2の応用でコモンダイアログの拡張が容易に行えると思います。(たぶん^^;)
解説ページ

Copyright © 2005 tadahiro higuchi. All Rights Reserved.