Re[3]: Drag & Drop в другое приложение
От: shurik.  
Дата: 28.12.06 09:13
Оценка:
Здравствуйте, programmater, Вы писали:

P>Здравствуйте, shurik., Вы писали:


S>>Здравствуйте, ionicman, Вы писали:


I>>>Так вот не работает, к сожелению. Я знаю что дроп такто через COM. Но вроде бы говорят что можно и без него.


S>>без кома вроде только получать файлы можно (см. WS_EX_ACCEPTFILES)


I>>>Подскажите, кто знает. Или хотябы можно ли сделать это на простом API?


S>>а чтоб быть источником драгдропа надо заморочиться по полной (см. DoDragDrop) 8)


P>У мну проблема сделать драг-дроп исключительно в своем приложении. Мож кто подскажет, как это можно сделать "по-простому". Про ДуДрагДроп (и всех остальных ежей с ней) читал и примерно представляю как это делать, но лома-а-а-а-а-ет!!! Помню где-то видел статью, автор по-моему Пол Дилация, где как раз объясняется, как сделать "самодельный драг-дроп" внутри своего приложения. Но поиском по сайту не нашел. Кстати в этой статье автор называет стандартный драг-дроп для таких задач "стрельбой из пушек по воробьям". Подскажите, как такое сделать или где найти эту статью (или хотя бы что-то похожее).


Думаю "по-простому" имеется ввиду примерно так

case WM_LBUTTONDOWN:
    SetCapture(m_hWnd);
    // запоминаем что тащим и меняем курсор
case WM_MOUSEMOVE:
    // ...
case WM_LBUTTONUP:
    ReleaseCapture();
    // вспоминаем что тащим и делаем что надо


это конечно ооочень примерно, но я мысль мне пришла такая первая 8)

Только подумайте вот о чём — люди писавшие стандартный драгдроп уже обо всех проблемах подумали и найденные исправили
а вот вы с самопальным 100% огребёте кучу проблем 8) и скорей всего на их решение уйдёт больше времени чем на понимание работы и реализацию стандартного драгдропа и часть проблем после этого всё равно может остаться.

Я бы не поленился и изучил, может либы какие поискал, всё равно ведь пригодится. Куда ж в 21 веке без драгдропа 8)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.