![]() |
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:
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.
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; Wie bekomme ich aber nun die richtige Spalte zurück? |
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; |
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 18:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz