if (redraw) { OS.SendMessage (handle, OS.WM_SETREDRAW, 1, 0); OS.InvalidateRect (handle, null, true); }
LRESULT WM_PAINT (int wParam, int lParam) {	/*	* Bug in Windows.  For some reason, when WM_CTLCOLORSTATIC	* is used to implement transparency and returns a NULL brush,	* Windows doesn't always draw the track bar.  It seems that	* it is drawn correctly the first time.  It is possible that	* Windows double buffers the control and the double buffer	* strategy fails when WM_CTLCOLORSTATIC returns unexpected	* results.  The fix is to send a fake WM_SIZE to force it	* to redraw every time there is a WM_PAINT.	*/	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {		Control control = findThemeControl ();		if (control != null) {			ignoreResize = true;			OS.SendMessage (handle, OS.WM_SIZE, 0, 0);			ignoreResize = false;		}	}	return super.WM_PAINT (wParam, lParam);}