|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.05.2008, 15:17 | #1 |
Форумчанин
Регистрация: 31.10.2007
Сообщений: 103
|
drag $ drop в DBGrid
В общем есть TreeView и DBGrid. На необходимо настроить перетаскивание мышкой записей DBGrid в TreeView. Сдела, поставил DragMode dmAutomatic все работает но вот только этот DBGrid перестал реагировать на событие OnClick, даже выбрать конкретную строку в DBGrid можно только правой кнопкой мыши. Поставил DragMode dmManual, для запуска Drag вручную при нажатии кнопки мыши, оказалось что событие MouseDown происходит только на чистом поле DBGrid, а не на записях.
Подскажите как можно сделать? Если с dmAutomatic, то что бы можно было выбрать запись левой кнопкой мыши? Если с dmManual, то как запустить BeginDrag? Заранее спасибо. |
20.05.2008, 15:34 | #2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
При одной из них (помоему при dmManual) ты должен указать величину оттаскивания элемента после к-рой сработает драг, то есть начнется перетаскивание. Если выбрать автомат, то перетаскивание начинается сразу и события клика не происходит. Вроде так. В Дельфи справке все это есть, я делал в листбоксе перетаскивание, по справке разобрался.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
20.05.2008, 15:41 | #3 |
Форумчанин
Регистрация: 31.10.2007
Сообщений: 103
|
Это все понятно, но если курсор находится на записи, то событие кнопка мыши вниз не срабатывает. Конечно можно по клику зажимать Ctrl или т.п. Но самый удобный вариант для пользователя это нажатие и удержание кнопки мыши.
|
20.05.2008, 15:44 | #4 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Ну так а я про что? Оно не срабатывает потому что сразу же срабатывает перетаскивание, а можно сделать чтобы перетаскивание начиналось после того как оттащишь на три пикселя.
Ты это указывал в программе? Я не помню просто как функция (или свойство) называется.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
20.05.2008, 15:49 | #5 |
Форумчанин
Регистрация: 31.10.2007
Сообщений: 103
|
На записи он не срабатывает даже если установить DragMode - dmManual
|
22.05.2008, 11:30 | #6 |
Регистрация: 22.05.2008
Сообщений: 4
|
А если поступить проще и сделать не по MouseDown, а по MouseMove?
|
22.05.2008, 13:16 | #7 |
Форумчанин
Регистрация: 31.10.2007
Сообщений: 103
|
Гениально спасибо, я даже об этом не подумал, теперь все сделаю
|
22.05.2008, 13:45 | #8 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Лучше оставь dmManual,
а при MouseDown пропиши Код:
|
22.05.2008, 13:49 | #9 | ||
Форумчанин
Регистрация: 31.10.2007
Сообщений: 103
|
Цитата:
Цитата:
|
||
23.05.2008, 10:05 | #10 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
AlexandrSid, ответь на простой вопрос.
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с drag-and-drop | Cezar | Win Api | 3 | 19.10.2008 15:48 |
Drag&Drop в ListBox'ах | MAKEDON | Общие вопросы Delphi | 3 | 21.08.2008 13:12 |
Drag&Drop по сети в Delphi | vovan-brn | Помощь студентам | 0 | 28.05.2008 23:12 |
Drag&Drop | shtuceron | Общие вопросы Delphi | 3 | 09.04.2008 19:04 |
Drag and Drop | Xardas | Общие вопросы Delphi | 8 | 20.01.2008 23:09 |