Здравствуйте, 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)