【VC++】特定のエディットコントロールだけD&Dを許可したい。
Posted: 2016年6月12日(日) 14:28
お世話になります。
VS2015 VC++ ダイアログGUI作成において、
特定のエディットコントロールにだけファイルのD&Dを許可し、
どのエディットコントロールにD&Dされたか検出する方法で、一番ベターな方法は何でしょうか?
(PreTranslateMessageを使う方法しかないでしょうか?)
ネットでよくある以下方法だとダイアログすべてに対してD&Dが許可され、どこにD&Dされたか検出できないですよね?
・クラスウィザードでダイアログクラスに「WM_DROPFILES」メッセージのハンドラーを追加する。
・OnInitDialogでDragAcceptFiles()をコールする。
↑リソースエディター上で[Accept Files]をTrueしてもいいが、エディットコントロールだけTrueにしても、
親ダイアログもTrueじゃないとイベントが検出されない。→結果ダイアログすべてがD&D許可される。
・OnDropFiles上で任意の処理を記述する。
よろしくお願いします。
VS2015 VC++ ダイアログGUI作成において、
特定のエディットコントロールにだけファイルのD&Dを許可し、
どのエディットコントロールにD&Dされたか検出する方法で、一番ベターな方法は何でしょうか?
(PreTranslateMessageを使う方法しかないでしょうか?)
ネットでよくある以下方法だとダイアログすべてに対してD&Dが許可され、どこにD&Dされたか検出できないですよね?
・クラスウィザードでダイアログクラスに「WM_DROPFILES」メッセージのハンドラーを追加する。
・OnInitDialogでDragAcceptFiles()をコールする。
↑リソースエディター上で[Accept Files]をTrueしてもいいが、エディットコントロールだけTrueにしても、
親ダイアログもTrueじゃないとイベントが検出されない。→結果ダイアログすべてがD&D許可される。
・OnDropFiles上で任意の処理を記述する。
よろしくお願いします。