亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? table.java

?? 源碼為Eclipse開源開發平臺桌面開發工具SWT的源代碼,
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
		TableItem item = items [i];		if (item != null) {			cleared = true;			item.clear ();			/*			* Bug in Windows.  Despite the fact that every item in the			* table always has LPSTR_TEXTCALLBACK, Windows caches the			* bounds for the selected items.  This means that 			* when you change the string to be something else, Windows			* correctly asks you for the new string but when the item			* is selected, the selection draws using the bounds of the			* previous item.  The fix is to reset LPSTR_TEXTCALLBACK			* even though it has not changed, causing Windows to flush			* cached bounds.			*/			if ((style & SWT.VIRTUAL) == 0 && item.cached) {				if (lvItem == null) {					lvItem = new LVITEM ();					lvItem.mask = OS.LVIF_TEXT | OS.LVIF_INDENT;					lvItem.pszText = OS.LPSTR_TEXTCALLBACK;				}				lvItem.iItem = i;				OS.SendMessage (handle, OS.LVM_SETITEM, 0, lvItem);				item.cached = false;			}		}	}	if (cleared) {		if (!ignoreRedraw && drawCount == 0 && OS.IsWindowVisible (handle)) {			OS.SendMessage (handle, OS.LVM_REDRAWITEMS, 0, count - 1);		}		setScrollWidth (null, false);	}}public Point computeSize (int wHint, int hHint, boolean changed) {	checkWidget ();	if (fixScrollWidth) setScrollWidth (null, true);	int bits = 0;	if (wHint != SWT.DEFAULT) {		bits |= wHint & 0xFFFF;	} else {		int width = 0;		int hwndHeader = OS.SendMessage (handle, OS.LVM_GETHEADER, 0, 0);		int count = OS.SendMessage (hwndHeader, OS.HDM_GETITEMCOUNT, 0, 0);		for (int i=0; i<count; i++) {			width += OS.SendMessage (handle, OS.LVM_GETCOLUMNWIDTH, i, 0);		}		bits |= width & 0xFFFF;	}	if (hHint != SWT.DEFAULT) bits |= hHint << 16;	int result = OS.SendMessage (handle, OS.LVM_APPROXIMATEVIEWRECT, -1, bits);	int width = result & 0xFFFF, height = result >> 16;		/*	* Feature in Windows.  The height returned by LVM_APPROXIMATEVIEWRECT	* includes the trim plus the height of the items plus one extra row.	* The fix is to subtract the height of one row from the result height.	*/	int empty = OS.SendMessage (handle, OS.LVM_APPROXIMATEVIEWRECT, 0, 0);	int oneItem = OS.SendMessage (handle, OS.LVM_APPROXIMATEVIEWRECT, 1, 0);	height -= (oneItem >> 16) - (empty >> 16);		if (width == 0) width = DEFAULT_WIDTH;	if (height == 0) height = DEFAULT_HEIGHT;	if (wHint != SWT.DEFAULT) width = wHint;	if (hHint != SWT.DEFAULT) height = hHint;	int border = getBorderWidth ();	width += border * 2;  height += border * 2;	if ((style & SWT.V_SCROLL) != 0) {		width += OS.GetSystemMetrics (OS.SM_CXVSCROLL);	}	if ((style & SWT.H_SCROLL) != 0) {		height += OS.GetSystemMetrics (OS.SM_CYHSCROLL);	}	return new Point (width, height);}void createHandle () {	super.createHandle ();	state &= ~CANVAS;	/* 	* This code is intentionally commented.  According to	* the documentation, setting the default item size is	* supposed to improve performance.  By experimentation,	* this does not seem to have much of an effect.	*/	//	OS.SendMessage (handle, OS.LVM_SETITEMCOUNT, 1024 * 2, 0);	/* Set the checkbox image list */	if ((style & SWT.CHECK) != 0) {		int empty = OS.SendMessage (handle, OS.LVM_APPROXIMATEVIEWRECT, 0, 0);		int oneItem = OS.SendMessage (handle, OS.LVM_APPROXIMATEVIEWRECT, 1, 0);		int width = (oneItem >> 16) - (empty >> 16), height = width;		setCheckboxImageList (width, height);		OS.SendMessage (handle, OS. LVM_SETCALLBACKMASK, OS.LVIS_STATEIMAGEMASK, 0);	}	/*	* Feature in Windows.  When the control is created,	* it does not use the default system font.  A new HFONT	* is created and destroyed when the control is destroyed.	* This means that a program that queries the font from	* this control, uses the font in another control and then	* destroys this control will have the font unexpectedly	* destroyed in the other control.  The fix is to assign	* the font ourselves each time the control is created.	* The control will not destroy a font that it did not	* create.	*/	int hFont = OS.GetStockObject (OS.SYSTEM_FONT);	OS.SendMessage (handle, OS.WM_SETFONT, hFont, 0);	/*	* Bug in Windows.  When the first column is inserted	* without setting the header text, Windows will never	* allow the header text for the first column to be set.	* The fix is to set the text to an empty string when	* the column is inserted.	*/	LVCOLUMN lvColumn = new LVCOLUMN ();	lvColumn.mask = OS.LVCF_TEXT;	int hHeap = OS.GetProcessHeap ();	int pszText = OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, TCHAR.sizeof);	lvColumn.pszText = pszText;	OS.SendMessage (handle, OS.LVM_INSERTCOLUMN, 0, lvColumn);	OS.HeapFree (hHeap, 0, pszText);	/* Set the extended style bits */	int bits = OS.LVS_EX_SUBITEMIMAGES | OS.LVS_EX_LABELTIP;	if ((style & SWT.FULL_SELECTION) != 0) bits |= OS.LVS_EX_FULLROWSELECT;	OS.SendMessage (handle, OS.LVM_SETEXTENDEDLISTVIEWSTYLE, bits, bits);		/*	* Feature in Windows.  Windows does not explicitly set the orientation of	* the header.  Instead, the orientation is inherited when WS_EX_LAYOUTRTL	* is specified for the table.  This means that when both WS_EX_LAYOUTRTL	* and WS_EX_NOINHERITLAYOUT are specified for the table, the header will	* not be oriented correctly.  The fix is to explicitly set the orientation	* for the header.	* 	* NOTE: WS_EX_LAYOUTRTL is not supported on Windows NT.	*/	if ((OS.WIN32_MAJOR << 16 | OS.WIN32_MINOR) < (4 << 16 | 10)) return;	if ((style & SWT.RIGHT_TO_LEFT) != 0) {		int hwndHeader = OS.SendMessage (handle, OS.LVM_GETHEADER, 0, 0);		int exStyle = OS.GetWindowLong (hwndHeader, OS.GWL_EXSTYLE);		OS.SetWindowLong (hwndHeader, OS.GWL_EXSTYLE, exStyle | OS.WS_EX_LAYOUTRTL);	}}void createItem (TableColumn column, int index) {	int hwndHeader = OS.SendMessage (handle, OS.LVM_GETHEADER, 0, 0);	int count = OS.SendMessage (hwndHeader, OS.HDM_GETITEMCOUNT, 0, 0);	int columnCount = count + 1;	if (count == 1 && columns [0] == null) count = 0;	if (!(0 <= index && index <= count)) error (SWT.ERROR_INVALID_RANGE);	if (count == columns.length) {		TableColumn [] newColumns = new TableColumn [columns.length + 4];		System.arraycopy (columns, 0, newColumns, 0, columns.length);		columns = newColumns;	}	int itemCount = OS.SendMessage (handle, OS.LVM_GETITEMCOUNT, 0, 0);	for (int i=0; i<itemCount; i++) {		TableItem item = items [i];		if (item != null) {			String [] strings = item.strings;			if (strings != null) {				String [] temp = new String [columnCount];				System.arraycopy (strings, 0, temp, 0, index);				System.arraycopy (strings, index, temp, index+1, columnCount-index-1);				item.strings = temp;			}			Image [] images = item.images;			if (images != null) {				Image [] temp = new Image [columnCount];				System.arraycopy (images, 0, temp, 0, index);				System.arraycopy (images, index, temp, index+1, columnCount-index-1);				item.images = temp;			}			if (index == 0) {				if (count != 0) {					if (strings == null) {						item.strings = new String [columnCount];						item.strings [1] = item.text;					}					item.text = "";					if (images == null) {						item.images = new Image [columnCount];						item.images [1] = item.image;					}					item.image = null;				}			}			if (item.cellBackground != null) {				int [] cellBackground = item.cellBackground;				int [] temp = new int [columnCount];				System.arraycopy (cellBackground, 0, temp, 0, index);				System.arraycopy (cellBackground, index, temp, index+1, columnCount-index-1);				temp [index] = -1;				item.cellBackground = temp;			}			if (item.cellForeground != null) {				int [] cellForeground = item.cellForeground;				int [] temp = new int [columnCount];				System.arraycopy (cellForeground, 0, temp, 0, index);				System.arraycopy (cellForeground, index, temp, index+1, columnCount-index-1);				temp [index] = -1;				item.cellForeground = temp;			}			if (item.cellFont != null) {				int [] cellFont = item.cellFont;				int [] temp = new int [columnCount];				System.arraycopy (cellFont, 0, temp, 0, index);				System.arraycopy (cellFont, index, temp, index+1, columnCount-index-1);				temp [index] = -1;				item.cellFont = temp;			}		}	}	/*	* Insert the column into the columns array before inserting	* it into the widget so that the column will be present when	* any callbacks are issued as a result of LVM_INSERTCOLUMN	* or LVM_SETCOLUMN.	*/	System.arraycopy (columns, index, columns, index + 1, count - index);	columns [index] = column;	if (index == 0) {		if (count > 0) {			LVCOLUMN lvColumn = new LVCOLUMN ();			lvColumn.mask = OS.LVCF_WIDTH;			OS.SendMessage (handle, OS.LVM_INSERTCOLUMN, 1, lvColumn);			OS.SendMessage (handle, OS.LVM_GETCOLUMN, 1, lvColumn);			int width = lvColumn.cx;			int cchTextMax = 1024;			int hHeap = OS.GetProcessHeap ();			int byteCount = cchTextMax * TCHAR.sizeof;			int pszText = OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount);			lvColumn.mask = OS.LVCF_TEXT | OS.LVCF_IMAGE | OS.LVCF_WIDTH | OS.LVCF_FMT;			lvColumn.pszText = pszText;			lvColumn.cchTextMax = cchTextMax;			OS.SendMessage (handle, OS.LVM_GETCOLUMN, 0, lvColumn);			OS.SendMessage (handle, OS.LVM_SETCOLUMN, 1, lvColumn);			lvColumn.fmt = OS.LVCFMT_IMAGE;			lvColumn.cx = width;			lvColumn.iImage = OS.I_IMAGENONE;			lvColumn.pszText = lvColumn.cchTextMax = 0;			OS.SendMessage (handle, OS.LVM_SETCOLUMN, 0, lvColumn);			lvColumn.mask = OS.LVCF_FMT;			lvColumn.fmt = OS.LVCFMT_LEFT;			OS.SendMessage (handle, OS.LVM_SETCOLUMN, 0, lvColumn);			if (pszText != 0) OS.HeapFree (hHeap, 0, pszText);		} else {			OS.SendMessage (handle, OS.LVM_SETCOLUMNWIDTH, 0, 0);		}		if ((parent.style & SWT.VIRTUAL) == 0) {			LVITEM lvItem = new LVITEM ();			lvItem.mask = OS.LVIF_TEXT | OS.LVIF_IMAGE;			lvItem.pszText = OS.LPSTR_TEXTCALLBACK;			lvItem.iImage = OS.I_IMAGECALLBACK;			for (int i=0; i<itemCount; i++) {				lvItem.iItem = i;				OS.SendMessage (handle, OS.LVM_SETITEM, 0, lvItem);			}		}	} else {		int fmt = OS.LVCFMT_LEFT;		if ((column.style & SWT.CENTER) == SWT.CENTER) fmt = OS.LVCFMT_CENTER;		if ((column.style & SWT.RIGHT) == SWT.RIGHT) fmt = OS.LVCFMT_RIGHT;		LVCOLUMN lvColumn = new LVCOLUMN ();		lvColumn.mask = OS.LVCF_WIDTH | OS.LVCF_FMT;		lvColumn.fmt = fmt;		OS.SendMessage (handle, OS.LVM_INSERTCOLUMN, index, lvColumn);	}}void createItem (TableItem item, int index) {	int count = OS.SendMessage (handle, OS.LVM_GETITEMCOUNT, 0, 0);	if (!(0 <= index && index <= count)) error (SWT.ERROR_INVALID_RANGE);	if (count == items.length) {		/*		* Grow the array faster when redraw is off or the		* table is not visible.  When the table is painted,		* the items array is resized to be smaller to reduce		* memory usage.		*/		boolean small = drawCount == 0 && OS.IsWindowVisible (handle);		int length = small ? items.length + 4 : Math.max (4, items.length * 3 / 2);		TableItem [] newItems = new TableItem [length];		System.arraycopy (items, 0, newItems, 0, items.length);		items = newItems;	}	LVITEM lvItem = new LVITEM ();	lvItem.iItem = index;	lvItem.pszText = OS.LPSTR_TEXTCALLBACK;	lvItem.mask |= OS.LVIF_TEXT;	/*	* Bug in Windows.  Despite the fact that the image list	* index has never been set for the item, Windows always	* assumes that the image index for the item is valid.	* When an item is inserted, the image index is zero.	* Therefore, when the first image is inserted and is	* assigned image index zero, every item draws with this	* image.  The fix is to set the image index when the	* the item is created.	*/	lvItem.iImage = OS.I_IMAGECALLBACK;	lvItem.mask |= OS.LVIF_IMAGE;	/* Insert the item */	ignoreSelect = true;	int result = OS.SendMessage (handle, OS.LVM_INSERTITEM, 0, lvItem);	ignoreSelect = false;	if (result == -1) error (SWT.ERROR_ITEM_NOT_ADDED);	System.arraycopy (items, index, items, index + 1, count - index);	items [index] = item;}void createWidget () {	super.createWidget ();	items = new TableItem [4];	columns = new TableColumn [4];}int defaultBackground () {	return OS.GetSysColor (OS.COLOR_WINDOW);}/** * Deselects the items at the given zero-relative indices in the receiver. * If the item at the given zero-relative index in the receiver  * is selected, it is deselected.  If the item at the index * was not selected, it remains deselected. Indices that are out * of range and duplicate indices are ignored. * * @param indices the array of indices for the items to deselect * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the set of indices is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */public void deselect (int [] indices) {	checkWidget ();	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);	if (indices.length == 0) return;	LVITEM lvItem = new LVITEM ();	lvItem.stateMask = OS.LVIS_SELECTED;	for (int i=0; i<indices.length; i++) {		/*		* An index of -1 will apply the change to all		* items.  Ensure that indices are greater than -1.		*/		if (indices [i] >= 0) {			ignoreSelect = true;			OS.SendMessage (handle, OS.LVM_SETITEMSTATE, indices [i], lvItem);			ignoreSelect = false;		}	}}/** * Deselects the item at the given zero-relative index in the receiver. * If the item at the index was already deselected, it remains * deselected. Indices that are out of range are ignored. * * @param index the index of the item to deselect

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久久久网| 亚洲靠逼com| 亚洲精品欧美激情| 国产一区二区三区免费观看| 成年人国产精品| 久久久久久久久免费| 亚洲福利视频一区| 色婷婷精品大在线视频 | 欧美色精品在线视频| 国产三级欧美三级日产三级99 | 另类专区欧美蜜桃臀第一页| 91亚洲资源网| 国产精品久久影院| 国产精品综合网| 久久天天做天天爱综合色| 调教+趴+乳夹+国产+精品| 91视频在线观看免费| 国产精品看片你懂得| 国产福利91精品一区| 精品sm捆绑视频| 蜜桃91丨九色丨蝌蚪91桃色| 欧美精品一卡二卡| 亚洲高清三级视频| 欧美日本韩国一区| 午夜精品福利一区二区蜜股av | 亚洲成av人影院在线观看网| 一道本成人在线| 亚洲品质自拍视频网站| 91麻豆免费视频| 亚洲精品国久久99热| 欧洲激情一区二区| 一个色在线综合| 精品视频一区二区不卡| 性做久久久久久久久| 欧美日韩成人一区二区| 日日夜夜一区二区| 日韩美女天天操| 国产一区二区按摩在线观看| 欧美国产日韩a欧美在线观看| 国产精品99久久久久久似苏梦涵| 久久九九影视网| 成人av电影在线播放| 亚洲人成在线观看一区二区| 色综合久久66| 日本亚洲一区二区| 久久色中文字幕| av成人老司机| 视频一区二区三区在线| 欧美第一区第二区| 成人国产免费视频| 亚洲国产中文字幕| 日韩一区二区在线看| 国产精品亚洲а∨天堂免在线| 国产精品夫妻自拍| 欧美日韩国产高清一区二区三区| 久久99国产精品成人| 国产精品无遮挡| 在线视频一区二区免费| 开心九九激情九九欧美日韩精美视频电影| 日韩美女主播在线视频一区二区三区 | 色综合久久天天| 青草av.久久免费一区| 国产视频亚洲色图| 欧美中文字幕一区| 韩国v欧美v日本v亚洲v| 亚洲综合色网站| 久久亚洲影视婷婷| 91精品办公室少妇高潮对白| 蜜桃久久久久久| 亚洲欧美日韩在线| 日韩精品一区二区三区视频| 91影视在线播放| 国产乱人伦偷精品视频免下载| 亚洲天堂av老司机| 久久先锋资源网| 欧美酷刑日本凌虐凌虐| 成人av手机在线观看| 麻豆精品久久久| 亚洲综合在线电影| 日本一区二区三区高清不卡| 6080午夜不卡| 色爱区综合激月婷婷| 国产成人综合在线观看| 青青草97国产精品免费观看无弹窗版 | 久久综合色天天久久综合图片| 91浏览器入口在线观看| 国产馆精品极品| 麻豆高清免费国产一区| 亚洲va韩国va欧美va| 亚洲色图视频免费播放| 国产欧美日韩视频在线观看| 日韩午夜电影av| 欧美亚洲一区二区三区四区| av成人免费在线| 丁香一区二区三区| 国产在线国偷精品产拍免费yy | 欧美丰满一区二区免费视频 | 一区二区三区加勒比av| 最新不卡av在线| 中文字幕免费不卡| 国产亚洲精品bt天堂精选| 精品播放一区二区| 亚洲精品一线二线三线| 日韩一区二区在线观看视频| 欧美高清性hdvideosex| 欧美日韩免费视频| 欧美性猛交xxxxxx富婆| 欧美天堂一区二区三区| 在线这里只有精品| 欧美性做爰猛烈叫床潮| 欧美偷拍一区二区| 欧美精品第1页| 制服丝袜成人动漫| 这里只有精品视频在线观看| 91精品在线观看入口| 欧美一区二区私人影院日本| 欧美日韩dvd在线观看| 欧美一级午夜免费电影| 欧美成人国产一区二区| 国产婷婷色一区二区三区在线| 国产日韩欧美一区二区三区综合| 欧美国产欧美综合| 亚洲欧美偷拍卡通变态| 亚洲成av人在线观看| 青娱乐精品在线视频| 国产精品白丝jk白祙喷水网站| 高清不卡一区二区在线| 色综合久久久久久久久久久| 欧美在线看片a免费观看| 欧美二区三区的天堂| 精品国产91亚洲一区二区三区婷婷| 精品国产乱码久久久久久夜甘婷婷| 精品成a人在线观看| 最新日韩在线视频| 午夜不卡在线视频| 国产一区二区看久久| 91尤物视频在线观看| 欧美一区二区三区免费视频| 精品国产一区二区三区忘忧草| 国产精品乱码久久久久久| 一区二区三区91| 国产在线国偷精品免费看| 91天堂素人约啪| 欧美一区二区精品久久911| 久久久不卡影院| 亚洲国产另类av| 国产一区二区三区日韩| 日本电影亚洲天堂一区| 日韩网站在线看片你懂的| 国产精品美女久久久久高潮| 亚洲午夜久久久久久久久电影网| 久久99热这里只有精品| 99re66热这里只有精品3直播| 91精品欧美久久久久久动漫| 中文字幕免费在线观看视频一区| 亚洲国产日韩一区二区| 丁香激情综合国产| 9191久久久久久久久久久| 国产欧美一区二区精品性色超碰| 亚洲午夜免费电影| 国产91精品在线观看| 欧美一级片在线看| 伊人色综合久久天天| 国产成人亚洲精品青草天美| 欧美午夜精品久久久久久孕妇| 久久精品一区四区| 丝瓜av网站精品一区二区| 91网上在线视频| 国产欧美日韩一区二区三区在线观看| 五月天一区二区| 91麻豆123| 综合激情成人伊人| 国产激情偷乱视频一区二区三区| 欧美肥妇bbw| 亚洲风情在线资源站| 成人h动漫精品| 亚洲国产精品成人综合| 国产在线视频不卡二| 欧美成人一级视频| 免费日本视频一区| 这里只有精品视频在线观看| 亚洲在线成人精品| 色综合天天做天天爱| 国产精品久久久久久久久晋中| 国产美女视频91| 精品国产三级电影在线观看| 丝袜诱惑制服诱惑色一区在线观看| 91理论电影在线观看| 成人欧美一区二区三区小说| 懂色一区二区三区免费观看| 久久久噜噜噜久噜久久综合| 精品一区二区三区免费| 欧美精品一区二区精品网| 日韩精品一级中文字幕精品视频免费观看| 色综合天天狠狠| 亚洲男帅同性gay1069| 91影院在线观看| 一区二区久久久久久| 欧美亚州韩日在线看免费版国语版| 一区二区三区中文字幕在线观看|