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 Wie viele Rows sind im TStringGrid gescrollt? (https://www.delphipraxis.net/143838-wie-viele-rows-sind-im-tstringgrid-gescrollt.html)

Nersgatt 24. Nov 2009 13:20


Wie viele Rows sind im TStringGrid gescrollt?
 
Hallo,

ich versuche herrauszufinden, wie viele Rows in einem TStringGrid NICHT sichtbar sind, weil das Grid gescrollt ist. Also, wenn ich einen Schritt nach unten scrolle, ist eine Reihe nicht sichtbar, scrolle ich noch einen Schritt sind 2 Reihen nicht sichtbar, usw.

Hier mein Ansatz:
Delphi-Quellcode:
   
var
  si : TScrollInfo;
  yOffset : integer;
begin

  {Offset berechnen, falls das Grid gescrollt ist}
  si.cbSize := sizeof(si);
  si.fMask := SIF_ALL;
  If GetScrollInfo(grd.Handle,SB_VERT,si) Then
  begin
    yOffset := Trunc((si.nPos / si.nMax) * (grd.RowCount - grd.FixedRows));
  end
  else
    yOffset := 0;
end;
Für die ersten beiden Schrollschritte stimmt mein Ergebnis noch. Ich bekomme 1 oder 2 raus. Beim 3. Schritt kommt aber schon 4 raus, obwohl nur 3 Rows weggescrollt sind.
Durch (si.nPos / si.nMax) bekomme ich raus, um wie viel Prozent das Grid gescrollt ist. Das multipliziert mit der Gesamtanzahl Rows in dem Grid müsste doch die Anzahl der weggescrollten Rows geben, oder??

Wo ist mein Denkfehler?

Danke!
Jens

Blup 24. Nov 2009 15:41

Re: Wie viele Rows sind im TStringGrid gescrollt?
 
Warum nicht einfach TopRow abfragen?

p80286 24. Nov 2009 17:04

Re: Wie viele Rows sind im TStringGrid gescrollt?
 
und warum nutzt Du nicht si.nTrackPos ?
und bitte beachten n.Min ist wahrscheinlich 0 ?

Gruß
K-H

Nersgatt 24. Nov 2009 17:52

Re: Wie viele Rows sind im TStringGrid gescrollt?
 
Zitat:

Zitat von Blup
Warum nicht einfach TopRow abfragen?

Weil ich diese Eigenschaft nicht gefunden habe. Danke, das war's.


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