DOBON.NETプログラミング掲示板過去ログ
【C#】ExplorerBrowserControlのカラムヘッダについて
題名: 【C#】ExplorerBrowserControlのカラムヘッダについて
著者: 白髪チュン
日時: 2011/09/13 10:43:45
ID: 29041
この記事の返信元:
(なし)
この記事への返信:
[29042]
Re[1]: 【C#】ExplorerBrowserControlのカラムヘッダについて
Hongliang
2011/09/13 13:36:35
ツリーを表示
環境/言語:[Windows7,C#]
分類:[.NET]
初めまして。
C#でExplorerBrowserControlを使用して、
フォルダ内のアイテムを表示しています。
その際、ファルダと特定の拡張子を持つファイル以外は
表示したくないのですが、制御方法がわかりません。
カラムヘッダの「種類」タブをプログラム内で操作できれば、
表示を制限できると思うのですが、方法がわかるかた
いらっしゃいましたら、ご教授ください。
よろしくお願い致します。
題名: Re[1]: 【C#】ExplorerBrowserControlのカラムヘッダについて
著者: Hongliang
日時: 2011/09/13 13:36:35
ID: 29042
この記事の返信元:
[29041]
【C#】ExplorerBrowserControlのカラムヘッダについて
白髪チュン
2011/09/13 10:43:45
この記事への返信:
(なし)
ツリーを表示
// 目的はフィルタリングですよね?
// 「種類」列をどう操作すればフィルタリングになるんでしょうか……?
少なくとも、既存のプロパティやイベントだけで対応できるものではなさそうです。
ライブラリに手を加える場合、自分で使うだけならともかく、再頒布を行うならライセンスをご確認ください。
また改造するには COM やネイティブ関数を利用するための知識が必要です。そうでないなら諦めた方が良いかもしれません。
http://social.msdn.microsoft.com/Forums/en-US/windowsuidevelopment/thread/252a9c82-617c-4126-8347-56dcedb4342f
こちらの冒頭に二つほど方法がまとめられていますね。
API CodePack から利用しやすいのは 2 の方でしょうか。
ICommDlgBrowser::IncludeObject(リンク先は IncludeItem になってますが)自体はすでに実装済みなので、ここにフィルタリング用のコードを仕込めば対応できそうです。
ただ、リンク先にもあるように Windows 7 の「ライブラリ」など特殊なフォルダに対しては無効になるようです。
ちらっと見た感じ、これの回避策はなさそうですね。IFileDialog をカスタマイズしてそれっぽく見せたらどうだ、なんて冗談か本気か分からない意見もありましたが。
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
初めまして。
C#でExplorerBrowserControlを使用して、
フォルダ内のアイテムを表示しています。
その際、ファルダと特定の拡張子を持つファイル以外は
表示したくないのですが、制御方法がわかりません。
カラムヘッダの「種類」タブをプログラム内で操作できれば、
表示を制限できると思うのですが、方法がわかるかた
いらっしゃいましたら、ご教授ください。
よろしくお願い致します。