Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Двойной клик по DBGrid


Автор: Frees 17.7.2006, 13:11
Использую TDBGridEh как отличить был двойной клик по записи или по титлу грида 

Автор: Marriage 17.7.2006, 14:10
OnTitleClick есть событие ... 

Автор: Frees 17.7.2006, 14:18
мне OnTitleClick не нужно мни нужно наоборот двойной клик по записи а не по титлу отловить 

Автор: vv3 17.7.2006, 16:14
Я так понял, что нужно обработать OnDblClick на всех строках , кроме Title. Тогда:

Код

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
if TDBGrid(Sender).MouseCoord(Mouse.CursorPos.X, Mouse.CursorPos.Y).Y = 0 then 
    DoSomething
   //обработаем, на всякий случай, клик на строке заголовка 
   else
      DoSomethigElse
  //обработаем двойной клик на остальных ячейках.
end;


MouseCoord приводит координаты мыши к координатам TDBGrid в виде Col(x), Row(y)

Читаем Delphi Help: 

TCustomGrid.MouseCoord
Returns the row and column indexes of the cell that contains a point specified in screen coordinates.

type TGridCoord = record
    X: Longint;
    Y: Longint;
  end;

function MouseCoord(X, Y: Integer): TGridCoord;

Description

Call MouseCoord to locate the column and row of the cell which contains a given screen coordinate. Usually, MouseCoord is used to locate the cell that is under the mouse. 

Автор: Frees 18.7.2006, 06:51
vv3, Спосибо зто точто нужно 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)