![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Здравствуйте ! Столкнулся с интересной проблемой. Реализовал Drag And Drop в TTreeView. Все вроде нормально работает, но не отлично. А именно - работает перетаскивание из пункта в пункт. А вот если, например - в пункте есть три подпункта (1, 2, 3) и их нужно поменять местами (3, 2, 1), это уже никак не сделать, разве что все эти подпункты выкидывать в другой пункт, а потом по очереди вкидывать обратно. Проект в приложении. Помогите пожалуйста, смотрел тему :
http://programmersforum.ru/showthread.php?t=54194 Хорошенько погуглил, но того, что нужно так и не нашел ![]() |
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Да ничего сложного.
Код:
Один из методов решения - пусть по нажатию, например, клавиши CTRL у вас меняется naInsert на naAdd... То есть без клавиши CTRL будет вставка "перед", а с нажатием - "после". |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Да, идея действительно хорошая. Только вот у меня возникли проблемы с отслежкой зажатой клавиши CTRL. Как и куда поставить проверку ?
|
![]() |
![]() |
![]() |
#4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Тоже просто.
Код:
Код:
Ну, а дальше...? (поверьте, я хочу вас "научить", а не "сунуть готовый исходник". поэтому и "мучаю" ![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Спасибо
![]() ![]() ![]() Только у меня будет вопрос, почему именно : Код:
Код:
![]() |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Специально разделили
key это нефункциональные клавиши клавиатуры. Остаются SHIFT, CTRL, ALT - потому что они используются в стандартных горячих клавишай. Это нормальный ход
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
mihali4, возникли проблемы с флажком. Сделал так :
Код:
![]() Код:
|
![]() |
![]() |
![]() |
#8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Просто
Код:
Код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Пробовал, но не работает, то что мне нужно. Видно из-за того, что у меня еще используется DragOver и там тоже проверка на эту переменную и ехит. Посмотрите исходники, я думаю поймете в чем проблема. Я делаю так, запускаю екзе, зажимаю контрол, меняю положение подпунктов. Но потом отпускаю контрол и хочу вложить подпукнт в подпункт и вот все, не работает (опять обмен пунктов работает, буд-то контрол зажат), если я раз сделаю обмен, то потом могу выполнять уже вкладывание.
|
![]() |
![]() |
![]() |
#10 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Елы-палы, ну добавьте
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
drag and drop | kelty | Помощь студентам | 0 | 11.09.2009 23:00 |
Drag and Drop | nusik | Общие вопросы C/C++ | 2 | 09.07.2009 11:09 |
Нужна помощь (Drag-And-Drop & Drag-Abd-Dock)) | Arkuz | Общие вопросы Delphi | 1 | 18.04.2009 00:15 |
Drag and Drop | Xardas | Общие вопросы Delphi | 8 | 20.01.2008 23:09 |