エクスプローラと同じコンテキストメニューを表示

解決


Manbon  2008-03-13 03:24:03  No: 30132

例えば、ListBoxにファイル名が記述されているとして、
ここで右クリックすると、エクスプローラと同じ
コンテキストメニューを表示したいのですが、
どのようにすれば宜しいでしょうか?
随分検索してみたのですが、見つかりません・・・
これって、かなり難しいのでしょうか?


nyr  2008-03-13 05:35:02  No: 30133

右クリックを検出して、TPopupMenuじゃまずいんですか?
http://shopdd.blog51.fc2.com/blog-entry-167.html
http://delfusa.main.jp/delfusafloor/archive/VA009712_take/delphi/kabereg.htm
この辺を参考にレジストリを読んでくればいける感じですが。


nyr  2008-03-13 05:41:04  No: 30134

後はこの辺ですね
http://www.atmarkit.co.jp/fwin2k/win2ktips/638clearcontext/clearcontext.html


Manbon  2008-03-13 18:58:45  No: 30135

ありがとうございます。
上記3つのサイトを見ましたが、どれもエクスプローラの
右クリックメニューそのものに関する操作のようです。

やりたいのは、このメニューをDelphiで作成したアプリ上で
表示することです。
レジストリから情報を読み込んで、自前でメニューを作成
するという方法になるのでしょうか?


Mr.XRAY  URL  2008-03-14 05:26:14  No: 30136

エクスプローラと同じコンテキストメニューは,シェルネームスペースを使用
すると実現します.
シェルネームスペースの扱いはプログラムとしては難しい方ではないかと思います.
もし,他の方が開発したコンポーネントを使用してもいいというのであれば...

http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/780_FileInfoListETC.htm#11

参考リンク

http://www.asahi-net.or.jp/~GV4J-SGUR/narik/stp001.htm#theme1
http://www.asahi-net.or.jp/~GV4J-SGUR/narik/susucyu.htm#theme1


Manbon  2008-03-14 18:07:58  No: 30137

ありがとうございます。
こういうコンポーネントがあったんですねぇ・・・。

で、早速インストールしようとしたのですが、
Delphi2用のようで、Delphi5では、
「変数実パラメータと変数仮パラメータ〜」
というエラー等が沢山出てだめでした。

色々調べていて、Ole2 の宣言を ActiveX に変えたら
うまくいったというのを見つけ、試してみますと、今度は
「'OLE2.TGUID'と'System.TGUID'には互換性がありません」
というエラーが出て、お手上げになってしまいました;;
解決法がありますでしょうか?


Mr.XRAY  URL  2008-03-14 18:47:24  No: 30138

>Delphi2用のようで、Delphi5では、

Delphi3用のがあります.そちらではどうですか.
私のサイトのサンプルは  WindowsXP(SP2) + Delphi7で
テストしています.


Mr.XRAY  URL  2008-03-14 19:12:50  No: 30139

今,Delphi5で動作確認しました.(WindowsXP)
ただし,私のサンプルの場合だと

関数IncludeTrailingPathDelimiter

はDelphi5にはありせんので,代わりにAPath+'\'等として下さい.
デリミタですね.


Manbon  2008-03-14 19:31:01  No: 30140

重ね重ね、ありがとうございます。
できました!!感激です!!
もう1年以上できないか悩んでまして^^;

実は下記のサンプルを使用させてもらっています。
http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/792_ExplThumbnail.htm
で、この縮小表示になんとかメニューを付加できないものかと
思っていました(サンプル内にあればよかったなぁ〜と^^)。


Mr.XRAY  URL  2008-03-15 05:28:59  No: 30141

>http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/792_ExplThumbnail.htm

それはありがとうごさいます.でもバグありなんですが.
気づきました? 
そのうち修正します.

>思っていました(サンプル内にあればよかったなぁ〜と^^)。

つけません.そんなのつけたら,エンドユーザにいいようにされてしまいます(笑)
簡易エクスプローラのように,シンプルなのがいいのです.
あっ,でもサンプルプログラムだから関係ないか  (^_^;)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加