![]() |
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 |
Re: Stringgrid fixedrow
Wie fragst du das ab?
|
Re: Stringgrid fixedrow
siehe oben mit
spalte := tabelle.Col; |
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 |
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 |
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? |
Re: Stringgrid fixedrow
MouseToCell sollte auch im OnDblClick funktionieren, wenn Du Mouse.CursorPos in Clientkoordinaten umrechnest.
|
Re: Stringgrid fixedrow
wie funktioniert das genau ? - auch längeres probieren bzw. suchen hat mir nicht wirklich weitergeholfen
|
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 |
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 02:49 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 by Thomas Breitkreuz