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 Stringgrid fixedrow (https://www.delphipraxis.net/137607-stringgrid-fixedrow.html)

mfrank 24. Jul 2009 08:52


Stringgrid fixedrow
 
Hallo,

bei einem Stringgrid mit 1 fixedrow und 1 fixedcol wird bei Doppelclick auf eine zeile ein neues Fenster geöffnet und in Abhängigkeit von der jeweiligen Zeile und Spalte mit Werten gefüllt. Wenn nun die 1 Zeile - row = 1 - oder Spalte angeklickt wird, so wird mit spalte := tabelle.Col nicht 0 zurückgegeben sondern die letzte angklickte Zeile bzw Spalte. Wie bekommt man hier die richtigen Werte? getestet mit Delphi 6 und Turbodelphi

Viele Grüße

Michael

mkinzler 24. Jul 2009 08:53

Re: Stringgrid fixedrow
 
Wie fragst du das ab?

mfrank 24. Jul 2009 11:08

Re: Stringgrid fixedrow
 
siehe oben mit

spalte := tabelle.Col;

ConstantGardener 24. Jul 2009 11:55

Re: Stringgrid fixedrow
 
Hallo MFrank,

rechne doch die MousePosition mit MouseToCell in die richtigen Zellkoordinaten um. Das sollte auch mit gefixten Zellen funktionieren.

cu cg

angos 24. Jul 2009 11:56

Re: Stringgrid fixedrow
 
In welchem Ereignis fragst du? Im OnClick sollte die tatsächlich geklickte Row/Col zuückgegeben werden

Darüber könntest das ganz einfach rausfinden. Der Wert grd.Col ist immer die zuletzt markierte, wie du bereits herausgefunden hast

Gruß
Ansgar

mfrank 24. Jul 2009 12:43

Re: Stringgrid fixedrow
 
nach einem Doppelklick also im Ereignis OnDblClick wird die Auswertung gestartet
habe jetzt noch MouseToCell ausprobiert, dies funktioniert auch im Ereignis OnMouseUp aber nicht in OnDblClick -
wie kann ich diese beiden verbinden?

DeddyH 24. Jul 2009 13:41

Re: Stringgrid fixedrow
 
MouseToCell sollte auch im OnDblClick funktionieren, wenn Du Mouse.CursorPos in Clientkoordinaten umrechnest.

mfrank 27. Jul 2009 06:37

Re: Stringgrid fixedrow
 
wie funktioniert das genau ? - auch längeres probieren bzw. suchen hat mir nicht wirklich weitergeholfen

Lannes 27. Jul 2009 06:58

Re: Stringgrid fixedrow
 
Hallo,

was genau, das umrechnen?:
Delphi-Quellcode:
var StringGridCursosPos : TPoint;
//...
StringGridCursosPos := StringGrid.ScreenToClient(Mouse.CursorPos);
//StringGridCursosPos.x und StringGridCursosPos.y in StringGrid.MouseToCell() verwenden

mfrank 27. Jul 2009 11:36

Re: Stringgrid fixedrow
 
ja ich glaube es läuft:
StringGridCursorPos := tabelle.ScreenToClient(Mouse.CursorPos);
stringgrid1.MouseToCell(StringGridCursorPos.X , StringGridCursorPos.Y, spalte, zeile);
somit wird auch Zeile und Spalte 0 richtig erkannt.
Vielen Dank an alle


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