Флаг MK_CONTROL очищается во время операции перетаскивания
Я использую Stingray Objective Views поверх MFC для приложения редактирования холста. Недавно у меня возникла странная проблема, когда настройка клавиши управления очищается для операций перетаскивания-копирования (то есть, если у меня есть объект на холсте и я удерживаю клавишу CTRL при перемещении, следует сделать копию вместо перемещение исходного объекта).
Что странно, я обнаружил, что если я ставлю точку останова в начале COleDropTarget::XDropTarget::DragOver, то я вижу, что флаг MK_CONTROL всегда установлен для параметра dwKeyState, и перетаскивание работает правильно. Но если нет точки останова, то флаг MK_CONTROL обычно не устанавливается, хотя я держу нажатой клавишу CTRL.
Кто-нибудь знает, что может быть причиной проблемы?
Спасибо кевин
1 ответ
Я не использую программное обеспечение Stingray, но.,,
Вопрос: работал ли он раньше? Откуда ты знаешь, что флаг не установлен? Если он установлен с точкой останова, он должен быть установлен без точки останова в той же ячейке памяти.
Если вы уверены, что он очищен, он должен быть очищен после точки останова. Если он работал раньше и остановился (при условии, что вы используете ту же версию кода), скорее всего, виновником является не ваше приложение.
Если он перестал работать после начислений, скорее всего, изменения в коде вызывают эту проблему; это может быть ваш код или какая-то ошибка в части ската. Вы упомянули использование COleDropTarget. Если у вас есть источник для ската, посмотрите, содержит ли он какие-либо настройки перетаскивания.