Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Sein, Вы писали:
S>>Пожалуйста подскажите: Я тут пытаюсь слобать прогу которая будет принимать файлы. Но есть маленькая проблема: сообщения из Microsoft Outlook напрямую не перетаскиваются. Из Outlook на рабочий стол а потом на мою форму — работает, а вот напрямую нет. Помогите решить эту проблему.
А>Самый правильный подход зарегистрировать твою форму как окно принимающее операции DragandDrop
А>делает это Api функция RegisterDragDrop(HWND hwnd,IDropTarget * pDropTarget)
А>И ещё тебе придется создать класс реализующий интерфейс IDropTarget что то на подобии такого:
А>class DradAndDrop:public TInterfacedObject, IDropTarget{
А>...
А>};
А>За оттальными вопросами к MSDN
Спасибо за совет!
Но есть ещё проблема при определении класса DradAndDrop компилятор ругается на определение функций которые я перекрываю в своём классе. А пишу я вот так:
class TMyDropTarget : public TInterfacedObject, IDropTarget
{
protected:
virtual HRESULT DragEnter(IDataObject *pDataObject,DWORD grfKeyState, POINTL pt, DWORD *pdwEffect);
virtual HRESULT DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect);
virtual HRESULT DragLeave(void);
virtual HRESULT Drop(IDataObject *pDataObject, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect);
};
Может я что-то не так делаю подскажите, я не очень то силён пока в С++.