if (pixel == -1) pixel = getBackgroundPixel (); if (imageList != null) { imageList.setBackground (pixel); int hImageList = imageList.getHandle (); OS.SendMessage (handle, OS.TVM_SETIMAGELIST, OS.TVSIL_NORMAL, hImageList); }
void setBackgroundPixel (int pixel) {	if (background == pixel) return;	background = pixel;	/*	* Bug in Windows.  When TVM_GETBKCOLOR is used more	* than once to set the background color of a tree,	* the background color of the lines and the plus/minus	* does not change to the new color.  The fix is to set	* the background color to the default before setting	* the new color.	*/	int oldPixel = OS.SendMessage (handle, OS.TVM_GETBKCOLOR, 0, 0);	if (oldPixel != -1) OS.SendMessage (handle, OS.TVM_SETBKCOLOR, 0, -1);	OS.SendMessage (handle, OS.TVM_SETBKCOLOR, 0, pixel);	if (pixel == -1) pixel = getBackgroundPixel ();	if (imageList != null) {		imageList.setBackground (pixel);		int hImageList = imageList.getHandle ();		OS.SendMessage (handle, OS.TVM_SETIMAGELIST, OS.TVSIL_NORMAL, hImageList);	}	if ((style & SWT.CHECK) != 0) setCheckboxImageList ();}