if (COMCTL32_MAJOR >= 6) { if (background == -1) break; }
if (COMCTL32_MAJOR < 6 || background == -1) break;
LRESULT wmNotifyChild (int wParam, int lParam) {	NMHDR hdr = new NMHDR ();	OS.MoveMemory (hdr, lParam, NMHDR.sizeof);	switch (hdr.code) {		case OS.RBN_HEIGHTCHANGE:			if (!ignoreResize) {				Point size = getSize ();				int border = getBorderWidth ();				int height = OS.SendMessage (handle, OS.RB_GETBARHEIGHT, 0, 0);				setSize (size.x, height + (border * 2));			}			break;		case OS.RBN_CHEVRONPUSHED:			NMREBARCHEVRON lpnm = new NMREBARCHEVRON ();			OS.MoveMemory (lpnm, lParam, NMREBARCHEVRON.sizeof);			CoolItem child = items [lpnm.wID];			if (child != null) {				Event event = new Event();				event.detail = SWT.ARROW;				event.x = lpnm.left;				event.y = lpnm.bottom;				child.postEvent (SWT.Selection, event);			}			break;		case OS.NM_CUSTOMDRAW:			/*			* Feature in Windows.  For some reason, Windows			* does not fully erase the area that the cool bar			* occupies when the size of the cool bar is larger			* than the space occupied by the cool bar items.			* The fix is to erase the cool bar background in			* all cases.			*			* NOTE:  This work around is unnecessary on XP			* and interferes with the drawing of the theme.			*/			if (COMCTL32_MAJOR >= 6) {				if (background == -1) break;			}			NMCUSTOMDRAW nmcd = new NMCUSTOMDRAW ();			OS.MoveMemory (nmcd, lParam, NMCUSTOMDRAW.sizeof);			switch (nmcd.dwDrawStage) {				case OS.CDDS_PREERASE:					return new LRESULT (OS.CDRF_NOTIFYPOSTERASE);				case OS.CDDS_POSTERASE :					drawBackground(nmcd.hdc);					break;			}			break;	}	return super.wmNotifyChild (wParam, lParam);}