
.Net2005にてSystem.Windows.Forms.OpenFileDialogを自作したいと思っています。(ファイルを開く操作のほかにも操作したいことがあるので、ウィザード形式にしてはじめにファイルを選択させたいと考えています)
そこで、あらためてOpenFileDialogの動作を確認してみると、
結構高機能なんですよね。
http://www.aisto.com/roeder/dotnet/のリフレクターでソースを見ても、GUIまでは分かりません。
OpenFileDialogと同等の機能でソースが公開されているものや
自作するのに参考になりそうなサイト等ありますでしょうか?
なお、私が分からないと感じている点は下記です。
・「最近使ったファイル」や「マイコンピュータ」のリスト(?)が画面左に表示される。
(このリストの実現方法 またアイコンイメージはどこからどうやって取得すればよいか)
・「マイコンピュータ」をクリックするとすべてのドライブが出るが
"ハードディクスドライブ"という文字の下に青色のグラデーション下線まで表示されている
・画面右上に、戻る、1つ上のフォルダに移動するといった機能を表すボタン(?)があるが、マウスカーソルを合わせたときだけ、ボタンのように境界がふんわりと表示される
等々、いろいろ勉強しなければならないことが多いと感じています。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
今ひとつ、なぜ作るのかがわかりませんが・・・
アイコンはsystem32\shell32.dllや、explorer.exeからWIN32APIでとれます。
ボタンのように境界がふんわりと表示される>これはToolStripを使うことになると思います。
ご回答ありがとうございました。
確かにボタンのように見えたのはToolStripでした。
(Spy++で確認)
OpenFileDialogと同じものを作ろうと思っていたのですが、
やってみると結構大変で、上にあげたもの以外にも
リストに表示されたファイルを右クリックしたら、メニューを出すとか
いろいろやらないといけないことがあり、
結局、http://msdn2.microsoft.com/en-us/library/ms99646 …
を参考にカスタマイズしました。
No.2
- 回答日時:
> ・「マイコンピュータ」をクリックするとすべてのドライブが出るが
> "ハードディクスドライブ"という文字の下に青色のグラデーション下線まで表示されている
リストビューコントロールのグルーピング機能によるものです。
XP以降、Comctl32.dllのバージョン6からの機能です。
参考URL:http://msdn.microsoft.com/library/en-us/shellcc/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで画像の拡大・縮小
-
PHP リロードせずに、リアルタ...
-
サーバーサイドアプリケーショ...
-
C#【フォルダの参照】ダイアログ
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
wordの差し込み印刷で文字...
-
shシェルスクリプト 空白行の...
-
excel access連携 このテーブル...
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
json_encodeが表示しない
-
開始と終了を指定して、その間...
-
classの再定義エラーについて
-
phpでcookieがうまく保存されない
-
Google chart API 、PHP、MySQL...
-
ローカルのコンピュータ名を取...
-
ファイル名に日付の挿入
-
vb6で、特定のフォルダを常時監...
-
Access グループごとのページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Webページで表示する画像について
-
gooのフィードを作成したのです...
-
jQueryのスライドショーのカス...
-
EXCEL VBAのフォームについて
-
CListCtrlのcheckboxサイズ変更
-
DrawImageでビットマップを拡大...
-
同じ画面を開かないようにした...
-
VB.NETで画像の拡大・縮小
-
C# データグリッドにボタンを表示
-
OpenFileDialogの自作
-
電話番号のフォーマットについて
-
サーバーサイドアプリケーショ...
-
素材屋さんでよく見かける、壁...
-
随時(定期的に)HPを更新の「方法
-
PHP リロードせずに、リアルタ...
-
C++でGUIアプリケーションを作...
-
C#【フォルダの参照】ダイアログ
-
jquery(js)にて実装したいスラ...
-
Flashをクリックした時にtoggle...
-
Dosブロンプトでtabを出力したい
おすすめ情報