Community
Participate
Working Groups
Please launch the attached snippet. It should show a tree with white background and dark foreground. Selected rows should have a yellow background and hovered cells a gray background with red foreground. To avoid the system to draw the hot-effect we have to unset the SWT.HOT flat in the EraseItem listener. Unfortunately, this also prevents the PaintItem from receiving this flag.
Created attachment 287327 [details] Snippet to reproduce
Created attachment 287328 [details] Screenshot on Windows 10
The hot flag of the item is removed in CDDS_ITEMPREPAINT, when ignoreDrawHot is true. Line 1160: if (explorerTheme) { if (selected || (hot && ignoreDrawHot)) nmcd.uItemState &= ~OS.CDIS_HOT; OS.MoveMemory (lParam, nmcd, NMTVCUSTOMDRAW.sizeof); } When theses lines are commented out, the snipped seems to work. Though, don't have sufficient knowledge about the win32/swt API to fix this issue.