Update-Problem beim scrollen

jokey2

Erfahrenes Mitglied
Prost Gemeinde!

Für meinen von CTreeView abgeleiteten View habe ich einen Drag&Drop-Mechanismus realisiert. Der funktioniert auch. Wenn das DropTarget allerdings außerhalb des Fensters liegt, dann soll automatisch nach oben gescrollt werden, wenn die Maus beim Draggen am unteren Rand ist (bzw das gleiche nach unten). Auch das haut hin.
Was allerdings nicht klappt, ist das Neuzeichnen des Fensterinhaltes. Obwohl ich, wie im MSDN angegeben nach dem ScrollWindow(0, -5) das UpdateWindow() aufrufe, wird der Streifen, um den ich nach oben gescrollt habe, mit dem gleichen Inhalt gezeichnet, den er auch vorher hatte, was zur Folge hat, daß sich dieser Streifen immer wiederholt. Sieht natürlich ziemlich bescheiden aus, ganz davon abgesehen, daß ich die Treeitems, die neu ins Fenster gescrollt wurden, nicht sehe (siehe Bild).
Was muß ich also tun, daß dieser neue Streifen auch mit dem korrekten Inhalt neu gezeichnet wird? (Mit Invalidate() und Redraw() habe ich es schon versucht)
 

Anhänge

  • ScrollTree.gif
    ScrollTree.gif
    6,2 KB · Aufrufe: 19
Mi SendMessage(WM_VSCROLL, SB_LINEUP, NULL); klappt es tatsächlich!
Ich hatte erst SB_LINEUP und SB_LINEDOWN vertauscht (öhhhm :-(), deshalb tat sich da nichts.
 
Zurück