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/)
-   -   Delphi Falsche Koordinaten bei MouseToCell (https://www.delphipraxis.net/152674-falsche-koordinaten-bei-mousetocell.html)

Frederik 1. Jul 2010 13:56

Falsche Koordinaten bei MouseToCell
 
Ich habe ein TStringGrid mit 4 Spalten. Die Spalten sind so breit, sodass die horizontale Scrolleiste angezeigt wird. Ich sehe die ersten 3 Spalten komplett und von der 4. Spalte nur einen Teil. Nun klicke ich auf die 4. Spalte und erhalte im OnMOuseDown mit der Function OnMOuseToCell eine falsche Spalte (-1).

Delphi-Quellcode:
procedure TForm1.StringGrid2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var iRow, iCol: Integer;
begin
     StringGrid2.MouseToCell(x,y,iCol,iRow);
     //iCol = -1
end;
Ich nehme mal an, dass es daran liegt, weil die 4. Spalte nun nach links rückt, damit sie komplett in der Tabelle zu sehen ist.

Wie bekomme ich aber nun die richtige Spalte zurück?

Bummi 1. Jul 2010 14:57

AW: Falsche Koordinaten bei MouseToCell
 
Workaround:
Delphi-Quellcode:
procedure TForm5.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

  Caption := IntToStr(FCol)+' - ' + IntToStr(FRow)
end;

procedure TForm5.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
      StringGrid1.MouseToCell(x,y,FCol,FRow);
end;

Frederik 1. Jul 2010 15:16

AW: Falsche Koordinaten bei MouseToCell
 
Prima, so funktionierts. Manchmal ist es doch einfacher als man denkt!

Vielen Dank!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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