Отбросить цель - где мне зарегистрировать переменную COleDropTarget, если у класса представления нет OnCreate? - PullRequest
0 голосов
/ 10 марта 2010

На сайте MSDN написано:

Из функции вашего класса представления, которая обрабатывает сообщение WM_CREATE (обычно OnCreate), вызовите функцию-член Register новой переменной-члена. Revoke будет вызван автоматически для вас, когда ваш вид уничтожен.

Но у меня нет функции OnCreate в классе ChildView.

У меня есть OnCreate в классе CMainFrame. Могу ли я зарегистрировать его там? Каковы последствия?

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: У меня это работает для удаления файлов, но я хочу, чтобы текст отбрасывался как файл, а не в месте расположения курсора, как при вырезании и вставке текста, а скорее, чтобы приложение было буфер для хранения, и я буду относиться к нему как к файлу.

ТИА

Harvey

1 Ответ

0 голосов
/ 13 марта 2010

Решено:

Используя F1 для получения синтаксиса OnDrop и других, MSDN дал мне:

virtual BOOL OnDrop(
   CWnd* pWnd,
   COleDataObject* pDataObject,
   DROPEFFECT dropEffect,
   CPoint point 
);

Но правильная виртуальная функция не имеет первого параметра и должна быть:

virtual BOOL OnDrop(
   COleDataObject* pDataObject,
   DROPEFFECT dropEffect,
   CPoint point 
);

То же самое с остальными. Поэтому я никогда не переопределял функции по умолчанию.

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