dポイントプレゼントキャンペーン実施中!

.Net2005にてSystem.Windows.Forms.OpenFileDialogを自作したいと思っています。(ファイルを開く操作のほかにも操作したいことがあるので、ウィザード形式にしてはじめにファイルを選択させたいと考えています)

そこで、あらためてOpenFileDialogの動作を確認してみると、
結構高機能なんですよね。

http://www.aisto.com/roeder/dotnet/のリフレクターでソースを見ても、GUIまでは分かりません。
OpenFileDialogと同等の機能でソースが公開されているものや
自作するのに参考になりそうなサイト等ありますでしょうか?

なお、私が分からないと感じている点は下記です。
・「最近使ったファイル」や「マイコンピュータ」のリスト(?)が画面左に表示される。
(このリストの実現方法 またアイコンイメージはどこからどうやって取得すればよいか)
・「マイコンピュータ」をクリックするとすべてのドライブが出るが
"ハードディクスドライブ"という文字の下に青色のグラデーション下線まで表示されている
・画面右上に、戻る、1つ上のフォルダに移動するといった機能を表すボタン(?)があるが、マウスカーソルを合わせたときだけ、ボタンのように境界がふんわりと表示される

等々、いろいろ勉強しなければならないことが多いと感じています。
よろしくお願いします。

A 回答 (2件)

今ひとつ、なぜ作るのかがわかりませんが・・・



アイコンはsystem32\shell32.dllや、explorer.exeからWIN32APIでとれます。

ボタンのように境界がふんわりと表示される>これはToolStripを使うことになると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

確かにボタンのように見えたのはToolStripでした。
(Spy++で確認)

OpenFileDialogと同じものを作ろうと思っていたのですが、
やってみると結構大変で、上にあげたもの以外にも
リストに表示されたファイルを右クリックしたら、メニューを出すとか
いろいろやらないといけないことがあり、
結局、http://msdn2.microsoft.com/en-us/library/ms99646 …
を参考にカスタマイズしました。

お礼日時:2007/02/22 19:09

> ・「マイコンピュータ」をクリックするとすべてのドライブが出るが


> "ハードディクスドライブ"という文字の下に青色のグラデーション下線まで表示されている

リストビューコントロールのグルーピング機能によるものです。
XP以降、Comctl32.dllのバージョン6からの機能です。

参考URL:http://msdn.microsoft.com/library/en-us/shellcc/ …
    • good
    • 0
この回答へのお礼

ご回答をありがとうございました。

お礼日時:2007/02/22 19:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!