通知
すべてクリア
Topic starter
2009年7月10日 10:49 AM
初めて投稿させて頂きます。
りいと申します。
MFCでGUIアプリケーションを開発しています。
「メニュー→ファイル→保存」で出てくるCFileDialogがありますが、
ファイルリスト上で右クリックするとポップアップメニューが出てきます。
ファイルがある場所での右クリックと
ファイルが無い場所での右クリックで
2種類のポップアップメニューがありまして、
その両方を止めたいのですがうまくいきません。
単純にCFileDialogを派生させてWM_RBOTTONDOWNを取ればいいと
考えたのですが、イベントハンドラで取れません。
どなたか方法をご存じの方がおられましたらご教授下さい。
環境
開発環境:visualStudio .NET 2003
OS:XP
開発アプリ:MFCアプリケーション
2009年7月13日 9:42 AM
SPY++で見るとわかりますが、これらのコンテキストメニューは
CFileDialogが出しているわけではありません。その下請けの
CLASS「SHELLDLL_DefView」がWM_CONTEXTMENUを処理しているようです。
従って、細かい制御を行うにはこのウインドウのハンドルを取得して
サブクラス化し、メッセージを横取りする必要があると考えられます。
Topic starter
2009年7月13日 12:01 PM
仲澤@失業者様
ご回答ありがとうございました!
SHELLDLL_DefVeiwをフックすることで対応することができました!!
助かりました!
今後ともよろしくお願い致します。