Модераторы: alexs , Модераторы
kit
постоялец
Сообщения: 156 Зарегистрирован: 29.09.2016 08:39:07
Сообщение
kit » 09.11.2016 12:49:34
Как в событии DBGridMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); определить что я кликнул на текущей записи?
alexs
долгожитель
Сообщения: 4069 Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:
Сообщение
alexs » 09.11.2016 18:36:18
ну вообще-то курсор должен сместиться на запись, по которой клик был А так - можно расчитать. Только для этого надо получать доступ к приватным методам.
kit
постоялец
Сообщения: 156 Зарегистрирован: 29.09.2016 08:39:07
Сообщение
kit » 19.12.2016 12:01:15
Как узнать что я кликнул ниже последней строки?
alexs
долгожитель
Сообщения: 4069 Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:
Сообщение
alexs » 19.12.2016 14:41:15
Посмотреть - сколько записей в наборе Поделить высоту грида на высоту строки Сравнить эти 2 значения
kit
постоялец
Сообщения: 156 Зарегистрирован: 29.09.2016 08:39:07
Сообщение
kit » 20.12.2016 07:45:50
var Pt: TPoint; begin Pt := DBGrid.ScreenToClient(Mouse.CursorPos); if (Pt.Y > (TCustomDrawGrid(DBGrid).VisibleRowCount + 2) * DBGrid.DefaultRowHeight) then
alexs
долгожитель
Сообщения: 4069 Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:
Сообщение
alexs » 20.12.2016 08:25:04
На самом деле надо ещё учесть особо извращённый случай - когда высота строк может быть различна (например - заголовок из 2-х или более строк)
kit
постоялец
Сообщения: 156 Зарегистрирован: 29.09.2016 08:39:07
Сообщение
kit » 21.12.2016 09:15:33
У меня всегда заголовок из двух строк