Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TStringGrid, Doppelklick auf fixed Row ignorieren (https://www.delphipraxis.net/156261-tstringgrid-doppelklick-auf-fixed-row-ignorieren.html)

hoika 25. Nov 2010 13:30

TStringGrid, Doppelklick auf fixed Row ignorieren
 
Halo#,

irgendwie stehe ich auf dem Schlauch.

Der folgende Code soll beim Doppelklick auf eine Zelle das DoEdit aufrufen,
ausser beim Doppelklick auf die FixRow.

Delphi-Quellcode:
procedure TForm1.GridDataDblClick(Sender: TObject);
var
  iCol: Integer;
  iRow: Integer;
  Point: TPoint;
begin
  Point.X:= Mouse.CursorPos.X;
  Point.Y:= Mouse.CursorPos.X;
  Point:= GridData.ScreenToClient(Point);

  GridData.MouseToCell(Point.X, Point.Y, iCol, iRow);
  if iRow<1 then Exit;

  DoEdit; // das eigentliche Editieren
end;
Klappt aber nicht ;(
iCol und iRow ergeben immer -1 ???

Was mache ich verkehrt ?


Danke


Heiko

DeddyH 25. Nov 2010 13:38

AW: TStringGrid, Doppelklick auf fixed Row ignorieren
 
Delphi-Quellcode:
procedure TfrmTest.StringGrid1DblClick(Sender: TObject);
var p: TPoint;
    aCol, aRow: integer;
begin
  p := StringGrid1.ScreenToClient(Mouse.CursorPos);
  StringGrid1.MouseToCell(p.X,p.Y,aCol,aRow);
  if aRow < StringGrid1.FixedRows then
    begin
      if aRow < 0 then
        ShowMessage('Keine Zelle an dieser Stelle')
      else
        ShowMessage('Fixe Zeile geklickt');
    end;
end;
Klappt bei mir so ;)

hoika 25. Nov 2010 14:46

AW: TStringGrid, Doppelklick auf fixed Row ignorieren
 
Hallo,

Point.X:= Mouse.CursorPos.X;
Point.Y:= Mouse.CursorPos.Y;

Und das <0 auf <1 ändern ...


Das war mein Fehler ;)


Danke


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz