- ベストアンサー
OpenFileDialogの自作
.Net2005にてSystem.Windows.Forms.OpenFileDialogを自作したいと思っています。(ファイルを開く操作のほかにも操作したいことがあるので、ウィザード形式にしてはじめにファイルを選択させたいと考えています) そこで、あらためてOpenFileDialogの動作を確認してみると、 結構高機能なんですよね。 http://www.aisto.com/roeder/dotnet/のリフレクターでソースを見ても、GUIまでは分かりません。 OpenFileDialogと同等の機能でソースが公開されているものや 自作するのに参考になりそうなサイト等ありますでしょうか? なお、私が分からないと感じている点は下記です。 ・「最近使ったファイル」や「マイコンピュータ」のリスト(?)が画面左に表示される。 (このリストの実現方法 またアイコンイメージはどこからどうやって取得すればよいか) ・「マイコンピュータ」をクリックするとすべてのドライブが出るが "ハードディクスドライブ"という文字の下に青色のグラデーション下線まで表示されている ・画面右上に、戻る、1つ上のフォルダに移動するといった機能を表すボタン(?)があるが、マウスカーソルを合わせたときだけ、ボタンのように境界がふんわりと表示される 等々、いろいろ勉強しなければならないことが多いと感じています。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
今ひとつ、なぜ作るのかがわかりませんが・・・ アイコンはsystem32\shell32.dllや、explorer.exeからWIN32APIでとれます。 ボタンのように境界がふんわりと表示される>これはToolStripを使うことになると思います。
その他の回答 (1)
- yonfa
- ベストアンサー率52% (22/42)
> ・「マイコンピュータ」をクリックするとすべてのドライブが出るが > "ハードディクスドライブ"という文字の下に青色のグラデーション下線まで表示されている リストビューコントロールのグルーピング機能によるものです。 XP以降、Comctl32.dllのバージョン6からの機能です。
- 参考URL:
- http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/listview/listview_overview.asp
お礼
ご回答をありがとうございました。
お礼
ご回答ありがとうございました。 確かにボタンのように見えたのはToolStripでした。 (Spy++で確認) OpenFileDialogと同じものを作ろうと思っていたのですが、 やってみると結構大変で、上にあげたもの以外にも リストに表示されたファイルを右クリックしたら、メニューを出すとか いろいろやらないといけないことがあり、 結局、http://msdn2.microsoft.com/en-us/library/ms996463.aspx を参考にカスタマイズしました。