Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
Delphi 10.2 Tokyo Professional
|
Re: was passiert intern bei panel.scrollby(x,y)
26. Sep 2005, 14:54
Das Zeichnen passiert nicht dort - das Verschieben von Fenster markiert nur die "freigelegten" Bereiche als ungültig, so dass das System weiß, dass sie beim nächsten Update (WM_PAINT) neu gezeichnet werden müssen. Das passiert aber erst wenn die Anwendung wieder in die Meldungsschleife kommt oder wenn du manuell Panel.Update aufrufst.
[Nachtrag]
Bei den untergeordneten Fenster sieht es so aus, dass sie wahrscheinlich nicht immer neu gezeichnet werden. War das Fenster vorher vollständig sichtbar, dann verschiebt Windows wahrscheinlich nur das Fenster auf dem Bildschirm und zeichnet es nicht neu.
Wenn du mit dem übergeordneten Control Panel.Invalidate vor dem ScrollBy aufrufst, dann müssten immer alle neu gezeichnet werden (bin ich mir aber nur zu 99,9% sicher).
|