RxDBGrid & DBGridMouseDown

Модераторы: alexs, Модераторы

Ответить
kit
постоялец
Сообщения: 156
Зарегистрирован: 29.09.2016 08:39:07

RxDBGrid & DBGridMouseDown

Сообщение kit »

Как в событии DBGridMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); определить что я кликнул на текущей записи?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

ну вообще-то курсор должен сместиться на запись, по которой клик был
А так - можно расчитать. Только для этого надо получать доступ к приватным методам.
kit
постоялец
Сообщения: 156
Зарегистрирован: 29.09.2016 08:39:07

Сообщение kit »

Как узнать что я кликнул ниже последней строки?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Посмотреть - сколько записей в наборе
Поделить высоту грида на высоту строки
Сравнить эти 2 значения
kit
постоялец
Сообщения: 156
Зарегистрирован: 29.09.2016 08:39:07

Сообщение kit »

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 »

На самом деле надо ещё учесть особо извращённый случай - когда высота строк может быть различна (например - заголовок из 2-х или более строк)
kit
постоялец
Сообщения: 156
Зарегистрирован: 29.09.2016 08:39:07

Сообщение kit »

У меня всегда заголовок из двух строк
Ответить