Не удается заставить файл работать в диалоговом окне MFC - PullRequest
0 голосов
/ 11 ноября 2011

У меня есть простой проект MFC, построенный на CDialog. У меня также есть класс, который я называю CDroppable, который наследуется от CStatic с добавленной функцией OnDropFiles ().

Что я делаю, так это добавляю в диалог обычный CStatic, добавляю управляющую переменную, затем изменяю управляющую переменную в .h-файле диалога, чтобы она была CDroppable вместо CStatic (я думаю, что это довольно стандартно) , Я также изменяю поведение Accept Files на true для CStatic.

По моему мнению, это должно означать, что, если я перетаскиваю файл поверх диалогового окна где-либо за пределами принимающего окна, я должен получить значок «неверно», а внутри принимающего окна я могу его уронить. По крайней мере, так оно и было в VS2005. Однако сейчас в VS2010 я не могу заставить его работать. Все приложение отображает недопустимый значок перетаскивания. Я могу установить Accept Files в самом диалоге, и он будет правильно принимать файлы, но я не хочу, чтобы весь диалог принимал файлы, я хочу, чтобы CDroppable мог принимать файлы.

Это что-то очевидное, что я пропустил, чтобы активировать? Какой-то параметр, который нужно изменить?

MFC, делая простые вещи невозможными (тм)

1 Ответ

2 голосов
/ 14 ноября 2011

На самом деле я обнаружил, что было не так.

У меня была групповая коробка вокруг области, которую можно опустить, чтобы указать, где это было.Это была, очевидно, глупая идея, поскольку, хотя я установил прозрачность, которой, как я полагал, будет достаточно, она все еще находилась на пути к области, которую можно опустить.Мне пришлось отключить его, и после этого он волшебным образом сработал.

Извините, что потратил ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...