Страница 1 из 1

RxDBGrid & DBGridMouseDown

СообщениеДобавлено: 09.11.2016 13:49:34
kit
Как в событии DBGridMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); определить что я кликнул на текущей записи?

Re: RxDBGrid & DBGridMouseDown

СообщениеДобавлено: 09.11.2016 19:36:18
alexs
ну вообще-то курсор должен сместиться на запись, по которой клик был
А так - можно расчитать. Только для этого надо получать доступ к приватным методам.

Re: RxDBGrid & DBGridMouseDown

СообщениеДобавлено: 19.12.2016 13:01:15
kit
Как узнать что я кликнул ниже последней строки?

Re: RxDBGrid & DBGridMouseDown

СообщениеДобавлено: 19.12.2016 15:41:15
alexs
Посмотреть - сколько записей в наборе
Поделить высоту грида на высоту строки
Сравнить эти 2 значения

Re: RxDBGrid & DBGridMouseDown

СообщениеДобавлено: 20.12.2016 08:45:50
kit
var
Pt: TPoint;
begin
Pt := DBGrid.ScreenToClient(Mouse.CursorPos);
if (Pt.Y > (TCustomDrawGrid(DBGrid).VisibleRowCount + 2) * DBGrid.DefaultRowHeight) then

Re: RxDBGrid & DBGridMouseDown

СообщениеДобавлено: 20.12.2016 09:25:04
alexs
На самом деле надо ещё учесть особо извращённый случай - когда высота строк может быть различна (например - заголовок из 2-х или более строк)

Re: RxDBGrid & DBGridMouseDown

СообщениеДобавлено: 21.12.2016 10:15:33
kit
У меня всегда заголовок из двух строк