Ich hab ne akzeptable Lösung gefunden das Flackern weitestgehend zu minimieren. Hab für bessere Lösungen trotzdem ein offenes Ohr ...
Delphi-Quellcode:
Function HandleNotify(AWnd:HWnd; IDCtrl:LongInt; pNMHDR: PNMHDR):LongInt;
Var Rc:TRect;
Begin
Result:=0;
If (IDCtrl=ID_TV) And (pNMHDR<>NIL) Then Begin
If (pNMHDR.code=TVN_ITEMEXPANDING) Or (pNMHDR.code=TVN_DELETEITEM) Then Begin
GetClientRect(pNMHDR.hwndFrom,Rc);
InvalidateRect(pNMHDR.hwndFrom,@Rc,TRUE); // Das ist neu!
End;
If (pNMHDR.code=NM_CUSTOMDRAW) Then Begin
Result:=HandleCustomDraw(pNMHDR.hwndFrom,PNMTVCustomDraw(pNMHDR));
End;
End;
End;