powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Drag & drop в TDBGrid
9 сообщений из 9, страница 1 из 1
Drag & drop в TDBGrid
    #40041636
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь реализовать сие, застопорился на том, что событие:
DBGrid1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean)
возвращает X,Y как экранные координаты, а мне их надо как-то трансформировать в координаты ячеек грида.
Операция преобразования координат грида в экранные есть CellRect(), а вот в обратную сторону не могу найти.
...
Рейтинг: 0 / 0
Drag & drop в TDBGrid
    #40041650
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ,

DBGrid.ScreenToClient();
А дальше искать по ячейкам.
...
Рейтинг: 0 / 0
Drag & drop в TDBGrid
    #40041652
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам спросил, сам ответил MouseCoord делает то что мне нужно. И ведь проверял этот метод, а не посмотрел, что он возвращает X,Y а не Left,Top.
...
Рейтинг: 0 / 0
Drag & drop в TDBGrid
    #40041657
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBGrid.ScreenToClient() это не то, это снова координаты в пикселях, а мне нужно получить индексы колонки и строки, где мыша находится при Drage. Мне необходимо установить фокус на эту ячейку, для визуализации Draga, отсюда и затык.
...
Рейтинг: 0 / 0
Drag & drop в TDBGrid
    #40041694
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ,

А можно озвучить изначальную задачу, которую ты пытаешься решить драг-дропом? Может оно и не нужно там?
...
Рейтинг: 0 / 0
Drag & drop в TDBGrid
    #40041730
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да пожалуйста. Пускай на форме есть два DBGrid и мне хотелось бы взять значение из произвольной ячейки первого грида и положить его в произвольную ячейку другого грида. Первую часть задачи - взять и выбрать куда мы кладем значение из грида источника я сделал, теперь надо сделать так что-бы при передвижении мыши по гриду-приемнику автоматом фокусировалась ячейка под мышой, что пока не происходит. Теперь вот борюсь с установкой фокуса в гриде-приемнике.
...
Рейтинг: 0 / 0
Drag & drop в TDBGrid
    #40041740
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ,

Ох, натягиваешь ты сову на глобус :(
...
Рейтинг: 0 / 0
Drag & drop в TDBGrid
    #40041758
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну почему-же? Что ненормального в том, что-бы с DBGrid работать как с обычным списком?
Собственно почти получилось, оказалось надо было грид-приемник фокусить, тогда начинает работать FocusCell.
Но и тут надо подшаманить, хотя фокус устанавливается, указатель записи при этом не перемещается. Интересно почему?
И не могу сообразить как мне скролить грид-приемник влево и вправо при активном драге.
...
Рейтинг: 0 / 0
Drag & drop в TDBGrid
    #40041841
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ
И не могу сообразить как мне скролить грид-приемник влево и вправо при активном драге.

Ну если ты уже научится определять ячейку под мышкой, то просто сдвигай на один столбец, когда мышь над крайним столбцом. Только паузу сделай, чтобы пользователь успел осознать что происходит.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Drag & drop в TDBGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]