[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/02/12(Mon) 15:45
投稿者名:みなな
Eメール:
URL :
タイトル:
エクスプローラの右クリック
エクスプローラで右クリックしたときのメニューを表示させることはできませんでしょうか?

エクスプローラとまったく同様のものを表示させたいです。
よろしくお願い致します☆

投稿時間:2007/02/12(Mon) 22:36
投稿者名:かさのば
Eメール:
URL :
タイトル:
Re: エクスプローラの右クリック
> エクスプローラで右クリックしたときのメニューを表示させることはできませんでしょうか?
右クリックしたときのメニューとはポップアップメニューのことで良いんですよね?
ポップアップメニューの実装方法なら花ちゃん様のサイト(つまりここ)のカテゴリ別サンプル一覧
にとても分かり易く説明されていますのでご参照ください。

投稿時間:2007/02/13(Tue) 04:29
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: エクスプローラの右クリック
> エクスプローラとまったく同様のものを表示させたいです。

意図するものとは違うかもしれませんが、
  http://btmtz.mvps.org/vbexplorer/
あたりとか。

投稿時間:2007/02/13(Tue) 14:49
投稿者名:みなな
Eメール:
URL :
タイトル:
Re^2: エクスプローラの右クリック
皆様ご回答ありがとうございます!
すみません、言葉が足りなかったですよね。。

かさのば様
エクスプローラのポップアップメニューを出したいということでした。。
「開く」とか「送る」とかをそのまま自分のアプリ内で使用したいです。

魔界の仮面弁士様
ソース見ました!このように自分のアプリ内でエクスプローラと同じ右クリックメニューを出した
いです!
ものすごく難しいのですね!コメントも英文ですし。。
IShellFolderのQueryContextMenu、TrackPopupMenuの処理が関係してそうですが、
今の段階ではまだわかりません。。訳しながら見ていこうかしら。。

花ちゃん様
[アプリケーション]キーを送るっていうのは今回とはちょっと違いますが、
他のことで使えそうです♪素敵なご回答ありがとうございます。
Shellオブジェクトについてですが、メニュー項目名の列挙と実行をShellでするっていう感じでしょうか?表示させるメソッドはないですよね?

投稿時間:2007/02/13(Tue) 18:18
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: エクスプローラの右クリック
> ものすごく難しいのですね!コメントも英文ですし。。
まずは、ListView だけ / TreeView だけのサンプルから見た方が良いかも。
http://btmtz.mvps.org/index.html


> Shellオブジェクトについてですが、メニュー項目名の列挙と実行をShellでするっていう感じでしょうか?

項目名の列挙は、FolderItemVerbs コレクションから行えます。
個々の FolderItemVerb オブジェクトは、項目名を返す Name プロパティと、
その項目を実行するための DoIt メソッドを持っています。

もっとも、これだと「送る」などの階層メニューに対応できませんけど。

なお、FolderItemVerbs コレクションは、FolderItem オブジェクトの
Verbs メソッドにて取得できます。


> 表示させるメソッドはないですよね?
ShellFolderView オブジェクトの PopupItemMenu メソッドあたりを調べてみるとか。

投稿時間:2007/02/14(Wed) 10:06
投稿者名:みなな
Eメール:
URL :
タイトル:
Re^4: エクスプローラの右クリック
魔界の仮面弁士様

詳細にご指導していただきましてありがとうございます!!

メニュー名の列挙と実行は確認できました♪やはり階層メニューは取得できませんでした。。
PopupItemMenu ってあったのですね!知りませんでした。。
これも試してみますね!

投稿時間:2007/02/14(Wed) 15:38
投稿者名:スクリプトプログラマ
Eメール:
URL :
タイトル:
Re^5: エクスプローラの右クリック
> 魔界の仮面弁士様
> PopupItemMenu ってあったのですね!知りませんでした。。

PopupItemMenuって使えました?
使おうとして、使えなかったような気がします。。。

投稿時間:2007/02/15(Thu) 11:27
投稿者名:みなな
Eメール:
URL :
タイトル:
Re^6: エクスプローラの右クリック
> PopupItemMenuって使えました?
> 使おうとして、使えなかったような気がします。。。

試してみましたができなかったです。。
以下のように書きました。

strtmp = objFolderView.PopupItemMenu(objFolderItem)

objFolderItemはプログラムフォルダを指定しています。
何か間違えてるんだと思いますが。。 PopupItemMenuの引数はFolderItem を指定するんですよね?

投稿時間:2007/02/15(Thu) 17:25
投稿者名:スクリプトプログラマ
Eメール:
URL :
タイトル:
Re^6: エクスプローラの右クリック
> PopupItemMenuって使えました?
> 使おうとして、使えなかったような気がします。。。

結局、SelectItem()して、SendKeys "{f10}"で代替しました。。。

投稿時間:2007/02/13(Tue) 08:03
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: エクスプローラの右クリック
> エクスプローラで右クリックしたときのメニューを表示させることはできませんでしょうか?

こちらが質問の主文ならば、エクスプローラを関連付け等で表示して
[アプリケーション]キーを送れば表示します。

右クリックしたときのメニューを実行したいのなら、Shellオブジェクトを使って
実行する事ができます。

投稿時間:2007/02/14(Wed) 09:43
投稿者名:ダンボ
Eメール:
URL :
タイトル:
Re: エクスプローラの右クリック
> エクスプローラで右クリックしたときのメニューを表示させることはできませんでしょうか?


下記は参考になりませんか?
http://hanatyan.sakura.ne.jp/bbs/wforum.cgi?mode=allread&no=4632&page=60

投稿時間:2007/02/14(Wed) 12:44
投稿者名:みなな
Eメール:
URL :
タイトル:
Re^2: エクスプローラの右クリック
ダンボ様

見てまいりました!プロパティを開くっていう処理ですよね?
書き方の参考になりました♪ありがとうございます!