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 String Grid positionieren (https://www.delphipraxis.net/48317-string-grid-positionieren.html)

vt670 23. Jun 2005 14:21


String Grid positionieren
 
Hi,
offensichtlich habe ich ein Brett vorm Kopf. :wall:
In einem String Grid füge ich soviele reihen ein
das sie letzte Reihe nicht sichbar ist.
Wie kann man ein das Grid so scrollen das die letzte Zeile immer sichtbar ist.
Könnte schwören das ich das schonmal gemacht habe. :roll:
Für die Hilfe vielen dank im vorraus

Sidorion 23. Jun 2005 15:31

Re: String Grid positionieren
 
TopRow:=Max(0,(RowCount-FixedRows)-VisibleRowCount);
..oder in der Art. Vielleicht mußt du noch bissi dran feilen, aber im Prizip gehts so.

toms 23. Jun 2005 15:38

Re: String Grid positionieren
 
Delphi-Quellcode:
StringGrid1.Row := ...;

Sidorion 24. Jun 2005 10:22

Re: String Grid positionieren
 
1. ging ich davon aus, daß er einen Nachfolger von TStringGrid schreibt, wie das jeder vernünftige Mensch tun würde, da man dieses Verhalten ja auch annderswo brauchen könnte, und
2. Row ist falsch, das setzt nur die markierte Zeile, scrollt aber nicht die Grid

Wenn Dus als Nachfolger schreiben willst musst du aber noch Folgendews machen:
1. die Property RowCount überschreiben(weilSetRowCount von TCustomGrid nichht virtuell ist) mit
Delphi-Quellcode:
Published
...
Property RowCount: Integer Read GetRowCount Write SetRowCount;
2. Die Get-und Set- Methoden anlegen mit
Delphi-Quellcode:
Protected
...
Function GetRowCount: Integer;
Procedure SetRowCount(_iRiwCount: Integer);
3. den Get-und Set-Methoden Leben einhauchen mit
Delphi-Quellcode:
Function TMyGrid.GetRowCount: Integer;
Begin
  Result:=GetRowCount;
End;
Procedure TMyGrid.SetRowCount(_iRowCount: Integer);
Begin
  Inherited SetRowCount(_iRowCont);
  TopRow:=Max(1,(RowCount-FixedRows)-VisibleRowCount);
End;
Wenn Du das Verhalten noch steuerbar machen willst, dann musst du noch eine Boolean einfügen, der du auch eine Property verpaßt. Dann kannst du in SetRowCount noch die Boolean abfragen und nur dann scrollen, wenn sie true ist.

vt670 27. Jun 2005 11:35

Re: String Grid positionieren
 
Zitat:

Zitat von Sidorion
TopRow:=Max(0,(RowCount-FixedRows)-VisibleRowCount);
..oder in der Art. Vielleicht mußt du noch bissi dran feilen, aber im Prizip gehts so.

Hi Sidorion,

danke für den tip.
Klappt bestens.
Hoffe ich kann dir auch mal weiterhelfen.
Bis dahin viele grüsse
VT


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