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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tree.java

?? 源碼為Eclipse開源開發(fā)平臺桌面開發(fā)工具SWT的源代碼,
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
	/* Select/deselect the rest of the items */	TVITEM tvItem = new TVITEM ();	tvItem.mask = OS.TVIF_STATE;	tvItem.stateMask = OS.TVIS_SELECTED;	int oldProc = OS.GetWindowLong (handle, OS.GWL_WNDPROC);	OS.SetWindowLong (handle, OS.GWL_WNDPROC, TreeProc);	for (int i=0; i<this.items.length; i++) {		item = this.items [i];		if (item != null) {			int index = 0;			while (index < length) {				if (items [index] == item) break;				index++;			}			tvItem.hItem = item.handle;			OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);			if ((tvItem.state & OS.TVIS_SELECTED) != 0) {				if (index == length) {					tvItem.state = 0;					OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);				}			} else {				if (index != length) {					tvItem.state = OS.TVIS_SELECTED;					OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);				}			}		}	}	OS.SetWindowLong (handle, OS.GWL_WNDPROC, oldProc);}/** * Sets 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. * * @param item the item to be shown * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the item is null</li> *    <li>ERROR_INVALID_ARGUMENT - if the item has been disposed</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> * * @see Tree#getTopItem() *  * @since 2.1 */public void setTopItem (TreeItem item) {	checkWidget ();	if (item == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);	if (item.isDisposed ()) SWT.error (SWT.ERROR_INVALID_ARGUMENT);	int hItem = item.handle;	boolean fixScroll = checkScroll (hItem);	if (fixScroll) {		OS.SendMessage (handle, OS.WM_SETREDRAW, 1, 0);		OS.DefWindowProc (handle, OS.WM_SETREDRAW, 0, 0);	}	OS.SendMessage (handle, OS.TVM_SELECTITEM, OS.TVGN_FIRSTVISIBLE, hItem);	if (fixScroll) {		OS.DefWindowProc (handle, OS.WM_SETREDRAW, 1, 0);		OS.SendMessage (handle, OS.WM_SETREDRAW, 0, 0);	}}void showItem (int hItem) {	/*	* Bug in Windows.  When TVM_ENSUREVISIBLE is used to ensure	* that an item is visible and the client area of the tree is	* smaller that the size of one item, TVM_ENSUREVISIBLE makes	* the next item in the tree visible by making it the top item	* instead of making the desired item visible.  The fix is to	* detect the case when the client area is too small and make	* the desired visible item be the top item in the tree.	*/	if (OS.SendMessage (handle, OS.TVM_GETVISIBLECOUNT, 0, 0) == 0) {		boolean fixScroll = checkScroll (hItem);		if (fixScroll) {			OS.SendMessage (handle, OS.WM_SETREDRAW, 1, 0);			OS.DefWindowProc (handle, OS.WM_SETREDRAW, 0, 0);		}		OS.SendMessage (handle, OS.TVM_SELECTITEM, OS.TVGN_FIRSTVISIBLE, hItem);		OS.SendMessage (handle, OS.WM_HSCROLL, OS.SB_TOP, 0);		if (fixScroll) {			OS.DefWindowProc (handle, OS.WM_SETREDRAW, 1, 0);			OS.SendMessage (handle, OS.WM_SETREDRAW, 0, 0);		}	} else {		boolean scroll = true;		RECT itemRect = new RECT ();		itemRect.left = hItem;		if (OS.SendMessage (handle, OS.TVM_GETITEMRECT, 1, itemRect) != 0) {			forceResize ();			RECT rect = new RECT ();			OS.GetClientRect (handle, rect);			POINT pt = new POINT ();			pt.x = itemRect.left;			pt.y = itemRect.top;			if (OS.PtInRect (rect, pt)) {				pt.y = itemRect.bottom;				if (OS.PtInRect (rect, pt)) scroll = false;			}		}		if (scroll) {			boolean fixScroll = checkScroll (hItem);			if (fixScroll) {				OS.SendMessage (handle, OS.WM_SETREDRAW, 1, 0);				OS.DefWindowProc (handle, OS.WM_SETREDRAW, 0, 0);			}			OS.SendMessage (handle, OS.TVM_ENSUREVISIBLE, 0, hItem);			if (fixScroll) {				OS.DefWindowProc (handle, OS.WM_SETREDRAW, 1, 0);				OS.SendMessage (handle, OS.WM_SETREDRAW, 0, 0);			}		}	}}/** * Shows the item.  If the item is already showing in the receiver, * this method simply returns.  Otherwise, the items are scrolled * and expanded until the item is visible. * * @param item the item to be shown * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the item is null</li> *    <li>ERROR_INVALID_ARGUMENT - if the item has been disposed</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> * * @see Tree#showSelection() */public void showItem (TreeItem item) {	checkWidget ();	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);	if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);	showItem (item.handle);}/** * Shows the selection.  If the selection is already showing in the receiver, * this method simply returns.  Otherwise, the items are scrolled until * the selection is visible. * * @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> * * @see Tree#showItem(TreeItem) */public void showSelection () {	checkWidget ();	int hItem = 0;	if ((style & SWT.SINGLE) != 0) {			hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CARET, 0);		if (hItem == 0) return;		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;	} else {		TVITEM tvItem = new TVITEM ();		tvItem.mask = OS.TVIF_STATE;		int oldProc = OS.GetWindowLong (handle, OS.GWL_WNDPROC);		OS.SetWindowLong (handle, OS.GWL_WNDPROC, TreeProc);		int index = 0;		while (index <items.length) {			TreeItem item = items [index];			if (item != null) {				tvItem.hItem = item.handle;				OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);				if ((tvItem.state & OS.TVIS_SELECTED) != 0) {					hItem = tvItem.hItem;					break;				}			}			index++;		}		OS.SetWindowLong (handle, OS.GWL_WNDPROC, oldProc);	}	if (hItem != 0) showItem (hItem);}String toolTipText (NMTTDISPINFO hdr) {	int hwndToolTip = OS.SendMessage (handle, OS.TVM_GETTOOLTIPS, 0, 0);	if (hwndToolTip == hdr.hwndFrom && toolTipText != null) return ""; //$NON-NLS-1$	return super.toolTipText (hdr);}int widgetStyle () {	int bits = super.widgetStyle () | OS.TVS_SHOWSELALWAYS;	bits |= OS.TVS_LINESATROOT | OS.TVS_HASLINES | OS.TVS_HASBUTTONS;	/*	* This code is intentionally commented.  In future,	* FULL_SELECTION may be implemented for trees.	*///	if ((style & SWT.FULL_SELECTION) != 0) {//		bits |= OS.TVS_FULLROWSELECT;//	} else {//		bits |= OS.TVS_HASLINES | OS.TVS_HASBUTTONS;//	}//	bits |= OS.TVS_NOTOOLTIPS;	return bits;}TCHAR windowClass () {	return TreeClass;}int windowProc () {	return TreeProc;}LRESULT WM_CHAR (int wParam, int lParam) {	LRESULT result = super.WM_CHAR (wParam, lParam);	if (result != null) return result;	/*	* Feature in Windows.  The tree control beeps	* in WM_CHAR when the search for the item that	* matches the key stroke fails.  This is the	* standard tree behavior but is unexpected when	* the key that was typed was ESC, CR or SPACE.	* The fix is to avoid calling the tree window	* proc in these cases.	*/	switch (wParam) {		case OS.VK_RETURN:			/*			* Feature in Windows.  Windows sends NM_RETURN from WM_KEYDOWN			* instead of using WM_CHAR.  This means that application code			* that expects to consume the key press and therefore avoid the			* SWT.DefaultSelection event from WM_CHAR will fail.  The fix			* is to implement SWT.DefaultSelection in WM_CHAR instead of			* using NM_RETURN.			*/			Event event = new Event ();			int hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CARET, 0);			if (hItem != 0) {				TVITEM tvItem = new TVITEM ();				tvItem.hItem = hItem;				tvItem.mask = OS.TVIF_PARAM;				OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);				event.item = items [tvItem.lParam];			}			postEvent (SWT.DefaultSelection, event);			//FALL THROUGH		case OS.VK_ESCAPE:		case OS.VK_SPACE: return LRESULT.ZERO;	}	return result;}LRESULT WM_GETOBJECT (int wParam, int lParam) {	/*	* Ensure that there is an accessible object created for this	* control because support for checked item accessibility is	* temporarily implemented in the accessibility package.	*/	if ((style & SWT.CHECK) != 0) {		if (accessible == null) accessible = new_Accessible (this);	}	return super.WM_GETOBJECT (wParam, lParam);}LRESULT WM_KEYDOWN (int wParam, int lParam) {	LRESULT result = super.WM_KEYDOWN (wParam, lParam);	if (result != null) return result;	switch (wParam) {		case OS.VK_SPACE: {			int hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CARET, 0);			if (hItem != 0) {				hAnchor = hItem;				OS.SendMessage (handle, OS.TVM_ENSUREVISIBLE, 0, hItem);				TVITEM tvItem = new TVITEM ();				tvItem.mask = OS.TVIF_STATE | OS.TVIF_PARAM;				tvItem.hItem = hItem;				if ((style & SWT.CHECK) != 0) {					tvItem.stateMask = OS.TVIS_STATEIMAGEMASK;					OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);					int state = tvItem.state >> 12;					if ((state & 0x1) != 0) {						state++;					} else  {						--state;					}					tvItem.state = state << 12;					OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);					if (!OS.IsWinCE) {						int id = hItem;						if (OS.COMCTL32_MAJOR >= 6) {							id = OS.SendMessage (handle, OS.TVM_MAPHTREEITEMTOACCID, hItem, 0);						}						OS.NotifyWinEvent (OS.EVENT_OBJECT_FOCUS, handle, OS.OBJID_CLIENT, id);						}				}				tvItem.stateMask = OS.TVIS_SELECTED;				OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);				if ((style & SWT.MULTI) != 0 && OS.GetKeyState (OS.VK_CONTROL) < 0) {					if ((tvItem.state & OS.TVIS_SELECTED) != 0) {						tvItem.state &= ~OS.TVIS_SELECTED;					} else {						tvItem.state |= OS.TVIS_SELECTED;					}				} else {					tvItem.state |= OS.TVIS_SELECTED;				}				OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);				Event event = new Event ();				event.item = items [tvItem.lParam];				postEvent (SWT.Selection, event);				if ((style & SWT.CHECK) != 0) {					event = new Event ();					event.item = items [tvItem.lParam];					event.detail = SWT.CHECK;					postEvent (SWT.Selection, event);				}				return LRESULT.ZERO;			}			break;		}		case OS.VK_UP:		case OS.VK_DOWN:		case OS.VK_PRIOR:		case OS.VK_NEXT:		case OS.VK_HOME:		case OS.VK_END: {			if ((style & SWT.SINGLE) != 0) break;			if (OS.GetKeyState (OS.VK_SHIFT) < 0) {				int hItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CARET, 0);				if (hItem != 0) {					if (hAnchor == 0) hAnchor = hItem;					ignoreSelect = ignoreDeselect = true;					int code = callWindowProc (OS.WM_KEYDOWN, wParam, lParam);					ignoreSelect = ignoreDeselect = false;					int hNewItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CARET, 0);					TVITEM tvItem = new TVITEM ();					tvItem.mask = OS.TVIF_STATE;					tvItem.stateMask = OS.TVIS_SELECTED;					int hDeselectItem = hItem;										RECT rect1 = new RECT ();					rect1.left = hAnchor;					OS.SendMessage (handle, OS.TVM_GETITEMRECT, 1, rect1);					RECT rect2 = rect2 = new RECT ();					rect2.left = hDeselectItem;					OS.SendMessage (handle, OS.TVM_GETITEMRECT, 1, rect2);					int flags = rect1.top < rect2.top ? OS.TVGN_PREVIOUSVISIBLE : OS.TVGN_NEXTVISIBLE;					while (hDeselectItem != hAnchor) {						tvItem.hItem = hDeselectItem;						OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);						hDeselectItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, flags, hDeselectItem);					}					int hSelectItem = hAnchor;					rect1.left = hNewItem;					OS.SendMessage (handle, OS.TVM_GETITEMRECT, 1, rect1);					rect2.left = hSelectItem;					OS.SendMessage (handle, OS.TVM_GETITEMRECT, 1, rect2);					tvItem.state = OS.TVIS_SELECTED;					flags = rect1.top < rect2.top ? OS.TVGN_PREVIOUSVISIBLE : OS.TVGN_NEXTVISIBLE;					while (hSelectItem != hNewItem) {						tvItem.hItem = hSelectItem;						OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);						hSelectItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, flags, hSelectItem);					}					tvItem.hItem = hNewItem;					OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);					tvItem.mask = OS.TVIF_PARAM;					tvItem.hItem = hNewItem;					OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);					Event event = new Event ();					event.item = items [tvItem.lParam];					postEvent (SWT.Selection, event);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产永久精品大片wwwapp| 色综合天天综合网天天看片| 成人av电影在线观看| 欧美日韩免费观看一区三区| 国产无一区二区| 日本伊人色综合网| 91麻豆.com| 亚洲国产精品成人综合| 蜜臀a∨国产成人精品| 91在线观看美女| 久久综合久色欧美综合狠狠| 天堂精品中文字幕在线| 97se亚洲国产综合自在线不卡| 91精品国产综合久久福利软件| 亚洲日本在线a| 国产成人免费视频一区| 精品国产乱码久久| 日韩一区精品视频| 欧美影视一区在线| 亚洲欧洲韩国日本视频 | 国产偷v国产偷v亚洲高清| 午夜影视日本亚洲欧洲精品| 成人v精品蜜桃久久一区| 久久精品一区二区三区不卡 | 在线成人小视频| 一级特黄大欧美久久久| 99视频热这里只有精品免费| 国产精品天美传媒| 国产91丝袜在线观看| 国产调教视频一区| 国产精品一区一区三区| 国产午夜精品一区二区| 黄网站免费久久| 欧美xxxxxxxx| 国产在线精品一区二区夜色| 欧美变态tickling挠脚心| 久久不见久久见免费视频7| 日韩欧美亚洲另类制服综合在线| 亚洲3atv精品一区二区三区| 555www色欧美视频| 日本成人超碰在线观看| 欧美不卡在线视频| 国产一区中文字幕| 国产精品色婷婷久久58| 91免费看视频| 一区二区三区资源| 欧美一区二区三区四区视频| 国产一区二区在线电影| 国产亚洲成aⅴ人片在线观看 | 九九在线精品视频| 久久精品一区四区| 91无套直看片红桃| 亚洲一区视频在线| 7777精品伊人久久久大香线蕉完整版 | 777xxx欧美| 国内久久精品视频| 中文字幕一区二区三区在线播放 | 国产99精品视频| 亚洲青青青在线视频| 91超碰这里只有精品国产| 久久99精品久久久久婷婷| 国产女主播一区| 欧美日韩一区二区不卡| 久久er99精品| 中文字幕在线不卡一区二区三区 | 久久久精品天堂| 91麻豆6部合集magnet| 蜜臂av日日欢夜夜爽一区| 国产精品区一区二区三| 欧美精品乱码久久久久久按摩| 韩日精品视频一区| 一区二区在线看| 亚洲精品一区二区三区蜜桃下载| 色综合中文字幕国产| 三级在线观看一区二区| 五月综合激情婷婷六月色窝| 26uuu亚洲综合色欧美| 色综合色综合色综合| 久久精品理论片| 自拍偷拍欧美激情| 精品久久一区二区| 在线观看中文字幕不卡| 国产一区二区主播在线| 亚洲国产精品视频| 国产精品视频第一区| 日韩一级成人av| 色综合av在线| 懂色av一区二区三区免费观看| 午夜在线成人av| 亚洲婷婷在线视频| 国产精品天天摸av网| 欧美xxxx在线观看| 欧美高清激情brazzers| 在线亚洲免费视频| 成人av电影在线播放| 国产精品一区二区在线看| 日韩成人伦理电影在线观看| 亚洲综合在线免费观看| 亚洲天堂a在线| 国产精品污www在线观看| ww久久中文字幕| 欧美一卡2卡三卡4卡5免费| 欧美视频三区在线播放| 日本丰满少妇一区二区三区| 99久久伊人网影院| 成人午夜av影视| 国产综合色视频| 精品一区二区三区av| 美女网站一区二区| 男女激情视频一区| 蜜臀久久99精品久久久久宅男| 午夜精品福利在线| 日精品一区二区| 亚洲mv大片欧洲mv大片精品| 午夜影视日本亚洲欧洲精品| 亚洲中国最大av网站| 香蕉加勒比综合久久| 日韩和欧美一区二区| 日本大胆欧美人术艺术动态| 日韩中文欧美在线| 日韩av成人高清| 美国欧美日韩国产在线播放| 精品一区二区三区免费毛片爱| 黄色日韩网站视频| 国产成人精品一区二区三区网站观看| 国产一区999| 成人精品一区二区三区四区| 粉嫩蜜臀av国产精品网站| av在线不卡网| 在线视频欧美区| 日韩一级高清毛片| 国产日韩av一区二区| 亚洲国产成人在线| 亚洲美女屁股眼交| 天堂蜜桃91精品| 国模娜娜一区二区三区| 成人黄色在线视频| 欧美亚洲日本一区| 日韩视频免费观看高清在线视频| 久久久久久久久久看片| 中文字幕一区在线| 五月天视频一区| 紧缚奴在线一区二区三区| eeuss鲁片一区二区三区| 在线观看欧美黄色| 91精品国产高清一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 国产欧美精品一区二区色综合朱莉 | 亚洲一区二区三区四区在线| 毛片av中文字幕一区二区| 成人av网站在线观看| 91精品啪在线观看国产60岁| 美国毛片一区二区三区| 岛国精品在线观看| 欧美精品在线观看播放| 久久新电视剧免费观看| 亚洲亚洲精品在线观看| 国产精品88av| 欧美日韩和欧美的一区二区| 国产欧美1区2区3区| 奇米影视在线99精品| 99久久国产综合色|国产精品| 欧美一区二区三区成人| 亚洲欧洲性图库| 精品一区二区免费在线观看| 欧美日韩视频一区二区| 欧美极品aⅴ影院| 蜜乳av一区二区| 欧美日韩精品久久久| 国产精品久久毛片| 韩国视频一区二区| 欧美日韩精品综合在线| 国产精品成人一区二区艾草| 九一九一国产精品| 欧美理论片在线| 亚洲影院在线观看| 不卡在线观看av| 久久在线免费观看| 日韩av一区二| 欧美亚洲丝袜传媒另类| 亚洲美女视频在线观看| 成人av电影在线观看| 国产欧美一区二区精品久导航 | 99久久综合精品| 久久伊99综合婷婷久久伊| 日本欧美在线观看| 欧美肥大bbwbbw高潮| 亚洲综合偷拍欧美一区色| 99精品国产热久久91蜜凸| 中文字幕乱码日本亚洲一区二区| 国内精品免费**视频| 精品国产网站在线观看| 美脚の诱脚舐め脚责91| 日韩亚洲电影在线| 视频一区二区三区入口| 91精品国产欧美一区二区成人| 日韩精品免费专区| 欧美一区二区三区爱爱| 看电视剧不卡顿的网站| 欧美电影精品一区二区|