sizes [i] = new Point (rect.right - rect.left, rbBand.cyChild);
if ((style & SWT.VERTICAL) != 0) { sizes [i] = new Point (rbBand.cyChild, rect.right - rect.left); } else { sizes [i] = new Point (rect.right - rect.left, rbBand.cyChild); }
public Point [] getItemSizes () {	checkWidget ();		int count = OS.SendMessage (handle, OS.RB_GETBANDCOUNT, 0, 0);	Point [] sizes = new Point [count];	REBARBANDINFO rbBand = new REBARBANDINFO ();	rbBand.cbSize = REBARBANDINFO.sizeof;	rbBand.fMask = OS.RBBIM_CHILDSIZE;	int separator = (style & SWT.FLAT) == 0 ? SEPARATOR_WIDTH : 0;	MARGINS margins = new MARGINS ();	for (int i=0; i<count; i++) {		RECT rect = new RECT ();		OS.SendMessage (handle, OS.RB_GETRECT, i, rect);		OS.SendMessage (handle, OS.RB_GETBANDINFO, i, rbBand);		if (OS.COMCTL32_MAJOR >= 6) {			OS.SendMessage (handle, OS.RB_GETBANDMARGINS, 0, margins);			rect.left -= margins.cxLeftWidth;			rect.right += margins.cxRightWidth;		}		if (!isLastItemOfRow(i)) rect.right += separator;		sizes [i] = new Point (rect.right - rect.left, rbBand.cyChild);	}	return sizes;}