通知
すべてクリア
Topic starter
2013年5月21日 10:45 PM
C# で ShellExtension (ContextMenu) を作成しています。
QueryContextMenu で、条件に従ってメニューを4個(セパレータ2個含む)
を InsertMenuItem していますが、
何故か最初のメニューアイテムだけがメニューに現れます。
具体的には、
セパレータ1、メニューA、メニューB、セパレータ2
の順で、必ずメニューA、がメニューに入ります。
AとBを入れ替えるとBが入るので、セパレータ1の次のものが
入るようです。
元はC++で作成したものがあって、今回別機能の追加を前提にC#に移植
したのですが、上記の現象が起きています。
C++で作成したものは、InsertMenu を使っていますので、
InsertMenuItem では何か制約があるのかと思い質問させてもらいました。
2013年5月23日 3:26 AM
C++でInsertMenuItemを使ったシェル拡張を書いたことがありますが,問題なく動作してい
ます。
InsertMenuItemの定義が間違っていたり,InsertMenuItemの呼び出し方を間違っていたりし
ていませんか。
メニューAとメニューBの挿入時のインデックスのインクリメントを忘れているとか。
関係する箇所を抜粋して記述してもらえれば,何らかの回答が返せるかもしれません。