Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi X – Y – Koordinaten von TstringGrid- Zelle/n (https://www.delphipraxis.net/1336-x-%96-y-%96-koordinaten-von-tstringgrid-zelle-n.html)

Gast 15. Nov 2002 14:44


X – Y – Koordinaten von TstringGrid- Zelle/n
 
Hallo Profis...
8)
Ich habe zwei Fragen

1.) Ich klicke eine Zelle in StringGrid an. Wie bekomme ich die Koordinaten des oberen linken Ecks?

2.) Ich klicke eine Zelle (nicht Zeile!) und halte meine Maus gedrückt. Jetzt ziehe ich mein Cursor nach unten und somit markiere mehrere Zellen in einer Spalte und dann die Maus-Taste loslasse.
Wie bekomme ich jetzt die Koordinaten:
2a.) der obersten markierten Zelle ... und zwar der oberen linken Eck?
2b.) der untersten markierten Zeile ... und zwar der untere linke Eck der untersten Zelle (also NITCHT oberen Eck sondern unteren Eck dieser Zelle)?


Ich hoffe bloß, dass das nicht schon wieder eine Lappalie ist... nun so oder so... ist das ausgerechnet nicht mein Bereich... darum... bevor ich wie ein Anfänger nach eine Lösung suche lasse ich mich lieber von dem System-Profis belehren... :oops:

Gruß

Paul Jr.

Luckie 15. Nov 2002 14:51

Du kommst aus der Ecke heute wohl nicht mehr raus. :mrgreen:

Kuck mal hier:
Delphi-Quellcode:
function CellRect(ACol, ARow: Longint): TRect;
Und wieder bei MousDown und MouseUp abfragen.

Daniel 15. Nov 2002 14:52

zu (1):
Delphi-Quellcode:
function CellRect(ACol, ARow: Longint): TRect;
zu (2):
Zitat:

Zitat von Delphi-Hilfe
TCustomGrid.Selection
Indicates the boundaries of the current selection.

Delphi-Quellcode:
type TGridCoord = record
    X: Longint;
    Y: Longint;

  end;
type TGridRect = record
    caseIntegerof
      0: (Left, Top, Right, Bottom: Longint);
      1: (TopLeft, BottomRight: TGridCoord);
  end;


Ein Blick in die Delphi-Hilfe zu den Eigenschaften des StringGrids hätte Dir die Lösung gebracht. Die Delphi-Hilfe ist über die Taste 'F1' oder über die Kombination 'Strg-F1' aufzurufen.


[edit] :cry: immer komme ich zu spät... :cry: [/edit]

sakura 15. Nov 2002 14:54

Eigentlich alles recht einfach :lol:

Delphi-Quellcode:
var
  Rect: TRect;
begin
  ...
  // obere, linke der ausgewählten Zelle, relativ zum Darstellungsfenster (ober, links) des Grids
  Rect := StringGrid1.CellRect(StringGrid1.Col, StringGrid1.Row);
  ShowMessage(IntToStr(Rect.Left) + ':' + IntToStr(Rect.Right));


  ...
  // folgende Eigenschaften für größere Auswahlen (oben, links)
  Rect := StringGrid1.CellRect(StringGrid1.Selection.Left, StringGrid1.Selection.Top);
  // folgende Eigenschaften für größere Auswahlen (unten, links)
  Rect := StringGrid1.CellRect(StringGrid1.Selection.Left, StringGrid1.Selection.Bottom);

  ... u.s.w. u.s.f.
[edit]auch zu spät :evil:[/edit]

Gast 15. Nov 2002 16:02

Besten Dank Jungs... :P ...Toll

Gruß

Paul Jr.

Luckie 15. Nov 2002 16:22

Von was oder wie willst du als nächstes wissen bzw. ermitteln? :mrgreen:


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