int bits = start [0] | (end [0] << 16);
int bits = (start [0] & 0xFFFF) | ((end [0] << 16) & 0xFFFF0000);
LRESULT WM_SIZE (int wParam, int lParam) {		/*	* Bug in Windows.  If the combo box has the CBS_SIMPLE style,	* the list portion of the combo box is not redrawn when the	* combo box is resized.  The fix is to force a redraw when	* the size has changed.	*/	if ((style & SWT.SIMPLE) != 0) {		LRESULT result = super.WM_SIZE (wParam, lParam);		if (OS.IsWindowVisible (handle)) {			if (OS.IsWinCE) {					int hwndText = OS.GetDlgItem (handle, CBID_EDIT);				if (hwndText != 0) OS.InvalidateRect (hwndText, null, true);				int hwndList = OS.GetDlgItem (handle, CBID_LIST);				if (hwndList != 0) OS.InvalidateRect (hwndList, null, true);			} else {				int uFlags = OS.RDW_ERASE | OS.RDW_INVALIDATE | OS.RDW_ALLCHILDREN;				OS.RedrawWindow (handle, null, 0, uFlags);			}		}		return result;	}		/*	* Feature in Windows.  When an editable drop down combo box	* contains text that does not correspond to an item in the	* list, when the widget is resized, it selects the closest	* match from the list.  The fix is to remember the original	* text and reset it after the widget is resized.	*/	LRESULT result = null;	if ((style & SWT.READ_ONLY) != 0) {		result = super.WM_SIZE (wParam, lParam);	} else {		int index = OS.SendMessage (handle, OS.CB_GETCURSEL, 0, 0);		boolean redraw = false;		TCHAR buffer = null;		int [] start = null, end = null;		if (index == OS.CB_ERR) {			int length = OS.GetWindowTextLength (handle);			if (length != 0) {				buffer = new TCHAR (getCodePage (), length + 1);				OS.GetWindowText (handle, buffer, length + 1);				start = new int [1];  end = new int [1];				OS.SendMessage (handle, OS.CB_GETEDITSEL, start, end);				redraw = drawCount == 0 && OS.IsWindowVisible (handle);				if (redraw) setRedraw (false);			}		}		result = super.WM_SIZE (wParam, lParam);		/*		* It is possible (but unlikely), that application		* code could have disposed the widget in the resize		* event.  If this happens, end the processing of the		* Windows message by returning the result of the		* WM_SIZE message.		*/		if (isDisposed ()) return result;		if (buffer != null) {			OS.SetWindowText (handle, buffer);			int bits = start [0] | (end [0] << 16);			OS.SendMessage (handle, OS.CB_SETEDITSEL, 0, bits);			if (redraw) setRedraw (true);		}	}	/*	* Feature in Windows.  When CB_SETDROPPEDWIDTH is called with	* a width that is smaller than the current size of the combo	* box, it is ignored.  This the fix is to set the width after	* the combo box has been resized.	*/	if ((style & SWT.H_SCROLL) != 0) setScrollWidth (scrollWidth);	return result; }