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

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

?? tree.java

?? 源碼為Eclipse開源開發平臺桌面開發工具SWT的源代碼,
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
	releaseItem (item, tvItem);	OS.SendMessage (handle, OS.TVM_DELETEITEM, 0, hItem);	if (fixRedraw) {		OS.SendMessage (handle, OS.WM_SETREDRAW, 1, 0);		OS.ValidateRect (handle, null);		/*		* If the item that was deleted was the last child of a tree item that		* is visible, redraw the parent item to force the +/- to be updated.		*/		if (OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CHILD, hParent) == 0) {			RECT rect = new RECT ();			rect.left = hParent;			if (OS.SendMessage (handle, OS.TVM_GETITEMRECT, 0, rect) != 0) {				OS.InvalidateRect (handle, rect, true);			}		}	}	int count = OS.SendMessage (handle, OS.TVM_GETCOUNT, 0, 0);	if (count == 0) {		if (imageList != null) {			OS.SendMessage (handle, OS.TVM_SETIMAGELIST, 0, 0);			display.releaseImageList (imageList);		}		imageList = null;		customDraw = false;		items = new TreeItem [4];		}}int getBackgroundPixel () {	if (OS.IsWinCE) return OS.GetSysColor (OS.COLOR_WINDOW);	int pixel = OS.SendMessage (handle, OS.TVM_GETBKCOLOR, 0, 0);	if (pixel == -1) return OS.GetSysColor (OS.COLOR_WINDOW);	return pixel;}int getForegroundPixel () {	if (OS.IsWinCE) return OS.GetSysColor (OS.COLOR_WINDOWTEXT);	int pixel = OS.SendMessage (handle, OS.TVM_GETTEXTCOLOR, 0, 0);	if (pixel == -1) return OS.GetSysColor (OS.COLOR_WINDOWTEXT);	return pixel;}/** * Returns the item at the given point in the receiver * or null if no such item exists. The point is in the * coordinate system of the receiver. * * @param point the point used to locate the item * @return the item at the given point * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the point 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 TreeItem getItem (Point point) {	checkWidget ();	if (point == null) error (SWT.ERROR_NULL_ARGUMENT);	TVHITTESTINFO lpht = new TVHITTESTINFO ();	lpht.x = point.x;	lpht.y = point.y;	OS.SendMessage (handle, OS.TVM_HITTEST, 0, lpht);	if (lpht.hItem != 0 && (lpht.flags & OS.TVHT_ONITEM) != 0) {		TVITEM tvItem = new TVITEM ();		tvItem.mask = OS.TVIF_HANDLE | OS.TVIF_PARAM;		tvItem.hItem = lpht.hItem;		OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);		return items [tvItem.lParam];		}	return null;}/** * Returns the number of items contained in the receiver * that are direct item children of the receiver.  The * number that is returned is the number of roots in the * tree. * * @return the number of items * * @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 int getItemCount () {	checkWidget ();	int hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_ROOT, 0);	if (hItem == 0) return 0;	return getItemCount (hItem);}int getItemCount (int hItem) {	int count = 0;	while (hItem != 0) {		hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_NEXT, hItem);		count++;	}	return count;}/** * Returns the height of the area which would be used to * display <em>one</em> of the items in the tree. * * @return the height of one item * * @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 int getItemHeight () {	checkWidget ();	return OS.SendMessage (handle, OS.TVM_GETITEMHEIGHT, 0, 0);}/** * Returns the items contained in the receiver * that are direct item children of the receiver.  These * are the roots of the tree. * <p> * Note: This is not the actual structure used by the receiver * to maintain its list of items, so modifying the array will * not affect the receiver.  * </p> * * @return the items * * @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 TreeItem [] getItems () {	checkWidget ();	int hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_ROOT, 0);	if (hItem == 0) return new TreeItem [0];	return getItems (hItem);}TreeItem [] getItems (int hTreeItem) {	int count = 0, hItem = hTreeItem;	while (hItem != 0) {		hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_NEXT, hItem);		count++;	}	int index = 0;	TreeItem [] result = new TreeItem [count];	TVITEM tvItem = new TVITEM ();	tvItem.mask = OS.TVIF_HANDLE | OS.TVIF_PARAM;	tvItem.hItem = hTreeItem;	/*	* Feature in Windows.  In some cases an expand or collapse message	* can occurs from within TVM_DELETEITEM.  When this happens, the item	* being destroyed has been removed from the list of items but has not	* been deleted from the tree.  The fix is to check for null items and	* remove them from the list.	*/	while (tvItem.hItem != 0) {		OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);		TreeItem item = items [tvItem.lParam];		if (item != null) result [index++] = item;		tvItem.hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_NEXT, tvItem.hItem);	}	if (index != count) {		TreeItem [] newResult = new TreeItem [index];		System.arraycopy (result, 0, newResult, 0, index);		result = newResult;	}	return result;}/** * Returns the receiver's parent item, which must be a * <code>TreeItem</code> or null when the receiver is a * root. * * @return the receiver's parent item * * @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 TreeItem getParentItem () {	checkWidget ();	return null;}/** * Returns an array of <code>TreeItem</code>s that are currently * selected in the receiver. An empty array indicates that no * items are selected. * <p> * Note: This is not the actual structure used by the receiver * to maintain its selection, so modifying the array will * not affect the receiver.  * </p> * @return an array representing the selection * * @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 TreeItem [] getSelection () {	checkWidget ();	if ((style & SWT.SINGLE) != 0) {		int hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CARET, 0);		if (hItem == 0) return new TreeItem [0];		TVITEM tvItem = new TVITEM ();		tvItem.mask = OS.TVIF_PARAM | OS.TVIF_STATE;		tvItem.hItem = hItem;		OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);		if ((tvItem.state & OS.TVIS_SELECTED) == 0) return new TreeItem [0];		return new TreeItem [] {items [tvItem.lParam]};	}	int count = 0;	TreeItem [] guess = new TreeItem [8];	TVITEM tvItem = new TVITEM ();	tvItem.mask = OS.TVIF_PARAM | OS.TVIF_STATE;	int oldProc = OS.GetWindowLong (handle, OS.GWL_WNDPROC);	OS.SetWindowLong (handle, OS.GWL_WNDPROC, TreeProc);	for (int i=0; i<items.length; i++) {		TreeItem item = items [i];		if (item != null) {			tvItem.hItem = item.handle;			OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);			if ((tvItem.state & OS.TVIS_SELECTED) != 0) {				if (count < guess.length) guess [count] = item;				count++;			}		}	}	OS.SetWindowLong (handle, OS.GWL_WNDPROC, oldProc);	if (count == 0) return new TreeItem [0];	if (count == guess.length) return guess;	TreeItem [] result = new TreeItem [count];	if (count < guess.length) {		System.arraycopy (guess, 0, result, 0, count);		return result;	}	OS.SetWindowLong (handle, OS.GWL_WNDPROC, TreeProc);	int index = 0;	for (int i=0; i<items.length; i++) {		TreeItem item = items [i];		if (item != null) {			tvItem.hItem = item.handle;			OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);			if ((tvItem.state & OS.TVIS_SELECTED) != 0) {				result [index++] = item;			}		}	}	OS.SetWindowLong (handle, OS.GWL_WNDPROC, oldProc);	return result;}/** * Returns the number of selected items contained in the receiver. * * @return the number of selected items * * @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 int getSelectionCount () {	checkWidget ();	if ((style & SWT.SINGLE) != 0) {		int hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CARET, 0);		if (hItem == 0) return 0;		TVITEM tvItem = new TVITEM ();		tvItem.mask = OS.TVIF_STATE;		tvItem.hItem = hItem;		OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);		if ((tvItem.state & OS.TVIS_SELECTED) == 0) return 0;		return 1;	}	int count = 0;	TVITEM tvItem = new TVITEM ();	tvItem.mask = OS.TVIF_STATE;	int oldProc = OS.GetWindowLong (handle, OS.GWL_WNDPROC);	OS.SetWindowLong (handle, OS.GWL_WNDPROC, TreeProc);	for (int i=0; i<items.length; i++) {		TreeItem item = items [i];		if (item != null) {			tvItem.hItem = item.handle;			OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);			if ((tvItem.state & OS.TVIS_SELECTED) != 0) count++;		}	}	OS.SetWindowLong (handle, OS.GWL_WNDPROC, oldProc);	return count;}/** * Returns the item which is currently at the top of the receiver. * This item can change when items are expanded, collapsed, scrolled * or new items are added or removed. * * @return the item at the top of the receiver  *  * @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> *  * @since 2.1 */public TreeItem getTopItem () {	checkWidget ();	int hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_FIRSTVISIBLE, 0);	if (hItem == 0) return null;	TVITEM tvItem = new TVITEM ();	tvItem.mask = OS.TVIF_PARAM;	tvItem.hItem = hItem;	if (OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem) == 0) return null;	return items [tvItem.lParam];}int imageIndex (Image image) {	if (image == null) return OS.I_IMAGENONE;	if (imageList == null) {		int hOldList = OS.SendMessage (handle, OS.TVM_GETIMAGELIST, OS.TVSIL_NORMAL, 0);		if (hOldList != 0) OS.ImageList_Destroy (hOldList);		Rectangle bounds = image.getBounds ();		imageList = display.getImageList (new Point (bounds.width, bounds.height));		int index = imageList.indexOf (image);		if (index == -1) index = imageList.add (image);		int hImageList = imageList.getHandle ();		OS.SendMessage (handle, OS.TVM_SETIMAGELIST, OS.TVSIL_NORMAL, hImageList);		return index;	}	int index = imageList.indexOf (image);	if (index != -1) return index;	return imageList.add (image);}boolean releaseItem (TreeItem item, TVITEM tvItem) {	int hItem = item.handle;	if (hItem == hAnchor) hAnchor = 0;	if (item.isDisposed ()) return false;	tvItem.hItem = hItem;	OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);	items [tvItem.lParam] = null;	return true;}void releaseItems (TreeItem [] nodes, TVITEM tvItem) {	for (int i=0; i<nodes.length; i++) {		TreeItem item = nodes [i];		TreeItem [] sons = item.getItems ();		if (sons.length != 0) {			releaseItems (sons, tvItem);		}		if (releaseItem (item, tvItem)) {			item.releaseResources ();		}	}}void releaseWidget () {	for (int i=0; i<items.length; i++) {		TreeItem item = items [i];		if (item != null && !item.isDisposed ()) {			item.releaseResources ();		}	}	/*	* Feature in Windows.  For some reason, when	* TVM_GETIMAGELIST or TVM_SETIMAGELIST is sent,	* the tree issues NM_CUSTOMDRAW messages.  This	* behavior is unwanted when the tree is being	* disposed.  The fix is to ingore NM_CUSTOMDRAW	* messages by usnig the custom draw flag.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费观看日本欧美| 悠悠色在线精品| 亚洲乱码一区二区三区在线观看| 婷婷成人激情在线网| 不卡的av中国片| 精品理论电影在线| 天天爽夜夜爽夜夜爽精品视频| 国产**成人网毛片九色 | 日本一区二区三区电影| 爽好久久久欧美精品| 91亚洲大成网污www| 久久综合国产精品| 日本三级韩国三级欧美三级| 一本大道久久精品懂色aⅴ| 国产欧美日韩在线| 韩国av一区二区三区四区| 91精品一区二区三区久久久久久 | av一二三不卡影片| 久久综合久久久久88| 看片的网站亚洲| 91麻豆精品国产91久久久久久| 一个色综合av| 在线欧美小视频| 亚洲自拍都市欧美小说| 91视频com| 亚洲乱码国产乱码精品精的特点| 国产精品99久久久久久似苏梦涵| 精品三级av在线| 精品在线免费视频| 欧美v国产在线一区二区三区| 日本女优在线视频一区二区| 日韩一区二区在线免费观看| 日韩1区2区日韩1区2区| 日韩免费性生活视频播放| 蜜臀av一区二区在线观看 | 国产亚洲欧美一区在线观看| 国产美女主播视频一区| 久久青草国产手机看片福利盒子 | 免费看欧美美女黄的网站| 欧美精选一区二区| 美女一区二区三区| 欧美xxxx老人做受| 国产激情一区二区三区四区| 欧美韩日一区二区三区| 成人免费视频视频| 一区二区欧美在线观看| 欧美日韩电影一区| 久久激情五月婷婷| 国产欧美一区二区精品性色超碰| 国产成人免费在线观看| 亚洲欧洲在线观看av| 欧美性色黄大片| 蜜桃av一区二区在线观看| 久久毛片高清国产| 色婷婷av一区| 日日夜夜精品免费视频| 久久看人人爽人人| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲国产人成综合网站| 精品精品欲导航| 国产精品一级片| 一区二区三区日本| 欧美成人国产一区二区| 成人av手机在线观看| 五月天一区二区三区| 国产亚洲精品bt天堂精选| 色噜噜狠狠成人网p站| 日韩高清一区二区| 国产精品热久久久久夜色精品三区| 91福利在线看| 国产精品一二三四| 五月综合激情日本mⅴ| 久久久精品2019中文字幕之3| 在线视频国内自拍亚洲视频| 国产一区二区电影| 偷拍一区二区三区| 1024成人网| 亚洲精品一区二区三区99| 色婷婷狠狠综合| 国产成人a级片| 日本美女一区二区| 一区二区在线看| 久久婷婷国产综合国色天香| 欧美日韩大陆在线| 在线视频你懂得一区| 国产精品一级在线| 九九视频精品免费| 丝袜美腿亚洲色图| 最新高清无码专区| 国产欧美精品日韩区二区麻豆天美| 欧美久久婷婷综合色| 色呦呦日韩精品| 成人免费毛片高清视频| 激情伊人五月天久久综合| 亚洲国产日韩a在线播放| 1区2区3区欧美| 国产精品私人自拍| 国产亚洲成av人在线观看导航| 日韩视频国产视频| 欧美一区二区成人| 911精品国产一区二区在线| 欧美性感一类影片在线播放| 91污在线观看| 99久久精品免费看| 91丨九色丨蝌蚪丨老版| 91麻豆产精品久久久久久| 成人黄色小视频| 丁香天五香天堂综合| 国产91对白在线观看九色| 国产精品99久久久久久似苏梦涵| 久久99国产精品久久99果冻传媒| 日韩经典一区二区| 日韩高清在线不卡| 老鸭窝一区二区久久精品| 青青草国产精品亚洲专区无| 日本aⅴ亚洲精品中文乱码| 日产国产欧美视频一区精品| 丝袜亚洲精品中文字幕一区| 性做久久久久久久免费看| 五月天激情小说综合| 日本欧美加勒比视频| 蜜桃视频第一区免费观看| 激情五月婷婷综合网| 国产成人日日夜夜| av一区二区久久| 欧美调教femdomvk| 欧美精品日韩综合在线| 欧美一级日韩免费不卡| 欧美精品一区二区三区蜜桃| 久久综合九色欧美综合狠狠| 国产欧美一区二区三区网站| 亚洲欧洲国产日本综合| 亚洲一区二区三区在线| 午夜精品免费在线| 蜜臀久久99精品久久久画质超高清 | 1区2区3区国产精品| 亚洲国产婷婷综合在线精品| 蜜臀久久久久久久| 韩日欧美一区二区三区| 成人app软件下载大全免费| 色婷婷综合久久久| 欧美成人一级视频| 国产精品成人免费在线| 香蕉加勒比综合久久| 国产在线麻豆精品观看| 99re这里只有精品首页| 欧美乱妇23p| 国产免费成人在线视频| 亚洲高清中文字幕| 国产成人av在线影院| 欧美丝袜丝交足nylons| 久久精品人人做人人爽人人 | 久久影院午夜论| 亚洲精品视频在线看| 美国欧美日韩国产在线播放| 99视频精品全部免费在线| 精品视频一区三区九区| 国产清纯在线一区二区www| 一区二区三区在线观看动漫| 精品一区二区免费在线观看| 色婷婷亚洲综合| 精品va天堂亚洲国产| 亚洲久本草在线中文字幕| 精品中文av资源站在线观看| 在线欧美一区二区| 亚洲国产成人一区二区三区| 日本大胆欧美人术艺术动态| 色综合中文字幕| 久久婷婷国产综合国色天香| 亚洲成人手机在线| av一区二区三区四区| xfplay精品久久| 天堂在线一区二区| 97精品视频在线观看自产线路二| 欧美成人精品高清在线播放| 亚洲123区在线观看| 91视频国产资源| 国产精品欧美久久久久一区二区| 精品一二线国产| 日韩欧美亚洲国产另类| 亚洲国产乱码最新视频| 91丨九色丨国产丨porny| 久久久久久一级片| 久草精品在线观看| 日韩欧美久久久| 丝袜亚洲精品中文字幕一区| 欧美午夜免费电影| 亚洲午夜激情av| 色综合色综合色综合色综合色综合| 中文字幕第一区综合| 国产成人自拍网| 亚洲精品一区二区三区在线观看| 免费人成黄页网站在线一区二区| 欧美老女人在线| 午夜精品福利在线| 69堂精品视频| 青青草视频一区| 精品三级av在线| 国产一区二区电影| 国产日韩欧美精品一区|