Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.628 Beiträge
 
Delphi 12 Athens
 
#8

AW: DBGrid horizontale ScrollBar Position

  Alt 10. Jan 2011, 11:44
Zitat:
Remarks

The SetScrollInfo function performs range checking on the values specified by the nPage and nPos members of the SCROLLINFO structure. The nPage member must specify a value from 0 to nMax - nMin +1. The nPos member must specify a value between nMin and nMax - max( nPage– 1, 0). If either value is beyond its range, the function sets it to a value that is just within the range.
Das klingt für mich so, als müsstest Du beim GetScrollInfo-Aufruf die fMask ausweiten auf SIF_PAGE or SIF_POS or SIF_RANGE.

[edit] So müsste es gehen (mit einem Memo getestet):
Delphi-Quellcode:
  var TempScrollInfo: SCROLLINFO;
begin
  // Position der horizontalen Scrollbar
  TempScrollInfo.cbSize := SizeOf(SCROLLINFO);
  TempScrollInfo.fMask := SIF_POS;
  GetScrollInfo(grdData.Handle, SB_HORZ, TempScrollInfo );
  //Daten neu laden...
  //..
   
  //Die horizontale Scrollposition wiederherstellen
  SetScrollInfo(grdData.Handle, SB_HORZ, TempScrollInfo, true);
  grdData.Perform(WM_HSCROLL, Info.nPos shl 16 or SB_THUMBPOSITION, 0);
[/edit]
[edit2] Das SetScrollInfo kann sogar entfallen, schadet aber auch nicht. [/edit2]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (10. Jan 2011 um 15:12 Uhr)
  Mit Zitat antworten Zitat