У меня есть простой проект MFC, построенный на CDialog. У меня также есть класс, который я называю CDroppable, который наследуется от CStatic с добавленной функцией OnDropFiles ().
Что я делаю, так это добавляю в диалог обычный CStatic, добавляю управляющую переменную, затем изменяю управляющую переменную в .h-файле диалога, чтобы она была CDroppable вместо CStatic (я думаю, что это довольно стандартно) , Я также изменяю поведение Accept Files на true для CStatic.
По моему мнению, это должно означать, что, если я перетаскиваю файл поверх диалогового окна где-либо за пределами принимающего окна, я должен получить значок «неверно», а внутри принимающего окна я могу его уронить. По крайней мере, так оно и было в VS2005.
Однако сейчас в VS2010 я не могу заставить его работать. Все приложение отображает недопустимый значок перетаскивания. Я могу установить Accept Files в самом диалоге, и он будет правильно принимать файлы, но я не хочу, чтобы весь диалог принимал файлы, я хочу, чтобы CDroppable мог принимать файлы.
Это что-то очевидное, что я пропустил, чтобы активировать? Какой-то параметр, который нужно изменить?
MFC, делая простые вещи невозможными (тм)