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

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

?? combo.java

?? 源碼為Eclipse開源開發平臺桌面開發工具SWT的源代碼,
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
		* style bits.  The fix is to force the widget to be resized by		* temporarily shrinking and then growing the width and height.		*/		RECT rect = new RECT ();		OS.GetWindowRect (hwndText, rect);		int width = rect.right - rect.left, height = rect.bottom - rect.top;		OS.GetWindowRect (handle, rect);		int widthCombo = rect.right - rect.left, heightCombo = rect.bottom - rect.top;		int uFlags = OS.SWP_NOMOVE | OS.SWP_NOZORDER | OS.SWP_NOACTIVATE;		SetWindowPos (hwndText, 0, 0, 0, width - 1, height - 1, uFlags);		SetWindowPos (handle, 0, 0, 0, widthCombo - 1, heightCombo - 1, uFlags);		SetWindowPos (hwndText, 0, 0, 0, width, height, uFlags);		SetWindowPos (handle, 0, 0, 0, widthCombo, heightCombo, uFlags);		OS.InvalidateRect (handle, null, true);	}		if (hwndList != 0) {		int exStyle = OS.GetWindowLong (hwndList, OS.GWL_EXSTYLE);				if ((style & SWT.RIGHT_TO_LEFT) != 0) {			exStyle |= OS.WS_EX_LAYOUTRTL;		} else {			exStyle &= ~OS.WS_EX_LAYOUTRTL;		}		OS.SetWindowLong (hwndList, OS.GWL_EXSTYLE, exStyle);	}}/** * Sets the selection in the receiver's text field to the * range specified by the argument whose x coordinate is the * start of the selection and whose y coordinate is the end * of the selection.  * * @param selection a point representing the new selection start and end * * @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 void setSelection (Point selection) {	checkWidget ();	if (selection == null) error (SWT.ERROR_NULL_ARGUMENT);	int bits = selection.x | (selection.y << 16);	OS.SendMessage (handle, OS.CB_SETEDITSEL, 0, bits);}/** * Sets the contents of the receiver's text field to the * given string. * <p> * Note: The text field in a <code>Combo</code> is typically * only capable of displaying a single line of text. Thus, * setting the text to a string containing line breaks or * other special characters will probably cause it to  * display incorrectly. * </p> * * @param string the new text * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the string 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 setText (String string) {	checkWidget ();	if (string == null) error (SWT.ERROR_NULL_ARGUMENT);	if ((style & SWT.READ_ONLY) != 0) {		int index = indexOf (string);		if (index != -1) select (index);		return;	}	TCHAR buffer = new TCHAR (getCodePage (), string, true);	if (OS.SetWindowText (handle, buffer)) {		sendEvent (SWT.Modify);		// widget could be disposed at this point	}}/** * Sets the maximum number of characters that the receiver's * text field is capable of holding to be the argument. * * @param limit new text limit * * @exception IllegalArgumentException <ul> *    <li>ERROR_CANNOT_BE_ZERO - if the limit is zero</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 setTextLimit (int limit) {	checkWidget ();	if (limit == 0) error (SWT.ERROR_CANNOT_BE_ZERO);	OS.SendMessage (handle, OS.CB_LIMITTEXT, limit, 0);}/** * Sets the number of items that are visible in the drop * down portion of the receiver's list. * * @param count the new number of items to be 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> *  * @since 3.0 */public void setVisibleItemCount (int count) {	checkWidget ();	if (count < 0) return;	visibleCount = count;	if ((style & SWT.DROP_DOWN) != 0) {		forceResize ();		RECT rect = new RECT ();		OS.GetWindowRect (handle, rect);		int flags = OS.SWP_NOMOVE | OS.SWP_NOZORDER | OS.SWP_DRAWFRAME | OS.SWP_NOACTIVATE;		setBounds (0, 0, rect.right - rect.left, rect.bottom - rect.top, flags);	}}void subclass () {	super.subclass ();	int newProc = display.windowProc;	int hwndText = OS.GetDlgItem (handle, CBID_EDIT);	if (hwndText != 0) {		OS.SetWindowLong (hwndText, OS.GWL_WNDPROC, newProc);	}	int hwndList = OS.GetDlgItem (handle, CBID_LIST);	if (hwndList != 0) {			OS.SetWindowLong (hwndList, OS.GWL_WNDPROC, newProc);	}}boolean translateTraversal (MSG msg) {	/*	* When the combo box is dropped down, allow return	* to select an item in the list and escape to close	* the combo box.	*/	switch (msg.wParam) {		case OS.VK_RETURN:		case OS.VK_ESCAPE:			if (OS.SendMessage (handle, OS.CB_GETDROPPEDSTATE, 0, 0) != 0) {				return false;			}	}	return super.translateTraversal (msg);}boolean traverseEscape () {	if (OS.SendMessage (handle, OS.CB_GETDROPPEDSTATE, 0, 0) != 0) {		OS.SendMessage (handle, OS.CB_SHOWDROPDOWN, 0, 0);		return true;	}	return super.traverseEscape ();}void unsubclass () {	super.unsubclass ();	int hwndText = OS.GetDlgItem (handle, CBID_EDIT);	if (hwndText != 0 && EditProc != 0) {		OS.SetWindowLong (hwndText, OS.GWL_WNDPROC, EditProc);	}	int hwndList = OS.GetDlgItem (handle, CBID_LIST);	if (hwndList != 0 && ListProc != 0) {		OS.SetWindowLong (hwndList, OS.GWL_WNDPROC, ListProc);	}}int widgetExtStyle () {	return super.widgetExtStyle () & ~OS.WS_EX_NOINHERITLAYOUT;}int widgetStyle () {	int bits = super.widgetStyle () | OS.CBS_AUTOHSCROLL | OS.CBS_NOINTEGRALHEIGHT | OS.WS_VSCROLL;	if ((style & SWT.SIMPLE) != 0) return bits | OS.CBS_SIMPLE;	if ((style & SWT.READ_ONLY) != 0) return bits | OS.CBS_DROPDOWNLIST;	return bits | OS.CBS_DROPDOWN;}TCHAR windowClass () {	return ComboClass;}int windowProc () {	return ComboProc;}int windowProc (int hwnd, int msg, int wParam, int lParam) {	if (handle == 0) return 0;	if (hwnd != handle) {		int hwndText = OS.GetDlgItem (handle, CBID_EDIT);		int hwndList = OS.GetDlgItem (handle, CBID_LIST);		if ((hwndText != 0 && hwnd == hwndText) || (hwndList != 0 && hwnd == hwndList)) {			LRESULT result = null;			switch (msg) {				case OS.WM_CHAR:		result = WM_CHAR (wParam, lParam); break;				case OS.WM_IME_CHAR:	result = WM_IME_CHAR (wParam, lParam); break;				case OS.WM_KEYDOWN:		result = WM_KEYDOWN (wParam, lParam); break;				case OS.WM_KEYUP:		result = WM_KEYUP (wParam, lParam); break;				case OS.WM_SYSCHAR:		result = WM_SYSCHAR (wParam, lParam); break;				case OS.WM_SYSKEYDOWN:	result = WM_SYSKEYDOWN (wParam, lParam); break;				case OS.WM_SYSKEYUP:	result = WM_SYSKEYUP (wParam, lParam); break;				case OS.WM_CONTEXTMENU:					/* Pretend the WM_CONTEXTMENU was sent to the combo box */					result = WM_CONTEXTMENU (handle, lParam); break;			}			if (result != null) return result.value;			int windowProc = hwnd == hwndText ? EditProc : ListProc;			return OS.CallWindowProc (windowProc, hwnd, msg, wParam, lParam);		}	}		return super.windowProc (hwnd, msg, wParam, lParam);}LRESULT WM_CHAR (int wParam, int lParam) {	if (ignoreCharacter) return null;	LRESULT result = super.WM_CHAR (wParam, lParam);	if (result != null) return result;	/*	* Feature in Windows.  For some reason, when the	* widget is a single line text widget, when the	* user presses tab, return or escape, Windows beeps.	* The fix is to look for these keys and not call	* the window proc.	* 	* NOTE: This only happens when the drop down list	* is not visible.	*/	switch (wParam) {		case OS.VK_TAB: return LRESULT.ZERO;		case OS.VK_RETURN:			postEvent (SWT.DefaultSelection);			// FALL THROUGH		case OS.VK_ESCAPE: 			if (OS.SendMessage (handle, OS.CB_GETDROPPEDSTATE, 0, 0) == 0) {				return LRESULT.ZERO;			}	}	return result;}LRESULT WM_CTLCOLOR (int wParam, int lParam) {	return wmColorChild (wParam, lParam);}LRESULT WM_GETDLGCODE (int wParam, int lParam) {	int code = callWindowProc (OS.WM_GETDLGCODE, wParam, lParam);	return new LRESULT (code | OS.DLGC_WANTARROWS);}LRESULT WM_IME_CHAR (int wParam, int lParam) {	/* Process a DBCS character */	Display display = this.display;	display.lastKey = 0;	display.lastAscii = wParam;	display.lastVirtual = display.lastNull = display.lastDead = false;	if (!sendKeyEvent (SWT.KeyDown, OS.WM_IME_CHAR, wParam, lParam)) {		return LRESULT.ZERO;	}	/*	* Feature in Windows.  The Windows text widget uses	* two 2 WM_CHAR's to process a DBCS key instead of	* using WM_IME_CHAR.  The fix is to allow the text	* widget to get the WM_CHAR's but ignore sending	* them to the application.	*/	ignoreCharacter = true;	int result = callWindowProc (OS.WM_IME_CHAR, wParam, lParam);	MSG msg = new MSG ();	int flags = OS.PM_REMOVE | OS.PM_NOYIELD | OS.PM_QS_INPUT | OS.PM_QS_POSTMESSAGE;	while (OS.PeekMessage (msg, handle, OS.WM_CHAR, OS.WM_CHAR, flags)) {		OS.TranslateMessage (msg);		OS.DispatchMessage (msg);	}	ignoreCharacter = false;		sendKeyEvent (SWT.KeyUp, OS.WM_IME_CHAR, wParam, lParam);	// widget could be disposed at this point	display.lastKey = display.lastAscii = 0;	return new LRESULT (result);}LRESULT WM_KILLFOCUS (int wParam, int lParam) {	/*	* Return NULL - Focus notification is	* done in WM_COMMAND by CBN_KILLFOCUS.	*/	return null;}LRESULT WM_SETFOCUS (int wParam, int lParam) {	/*	* Return NULL - Focus notification is	* done by WM_COMMAND with CBN_SETFOCUS.	*/	return null;}LRESULT WM_SIZE (int wParam, int lParam) {		/*	* 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.	*/	if ((style & SWT.READ_ONLY) != 0 || (style & SWT.DROP_DOWN) == 0) {		return super.WM_SIZE (wParam, lParam);	}	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);		}	}	LRESULT 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);	}	return result; }LRESULT wmCommandChild (int wParam, int lParam) {	int code = wParam >> 16;	switch (code) {		case OS.CBN_EDITCHANGE:			/*			* Feature in Windows.  If the combo box list selection is			* queried using CB_GETCURSEL before the WM_COMMAND (with			* CBM_EDITCHANGE) returns, CB_GETCURSEL returns the previous			* selection in the list.  It seems that the combo box sends			* the WM_COMMAND before it makes the selection in the list box			* match the entry field.  The fix is remember that no selection			* in the list should exist in this case.			*/			noSelection = true;			/*			* It is possible (but unlikely), that application			* code could have disposed the widget in the modify			* event.  If this happens, end the processing of the			* Windows message by returning zero as the result of			* the window proc.			*/			sendEvent (SWT.Modify);			if (isDisposed ()) return LRESULT.ZERO;			noSelection = false;			break;		case OS.CBN_SELCHANGE:			/*			* Feature in Windows.  If the text in an editable combo box			* is queried using GetWindowText () before the WM_COMMAND			* (with CBM_SELCHANGE) returns, GetWindowText () returns is			* the previous text in the combo box.  It seems that the combo			* box sends the WM_COMMAND before it updates the text field to			* match the list selection.  The fix is to force the text field			* to match the list selection by re-selecting the list item.			*/			int index = OS.SendMessage (handle, OS.CB_GETCURSEL, 0, 0);			if (index != OS.CB_ERR) OS.SendMessage (handle, OS.CB_SETCURSEL, index, 0);			/*			* It is possible (but unlikely), that application			* code could have disposed the widget in the modify			* event.  If this happens, end the processing of the			* Windows message by returning zero as the result of			* the window proc.			*/			sendEvent (SWT.Modify);			if (isDisposed ()) return LRESULT.ZERO;			postEvent (SWT.Selection);			break;		case OS.CBN_SETFOCUS:		case OS.CBN_KILLFOCUS:			/*			* It is possible (but unlikely), that application			* code could have disposed the widget in the focus			* event.  If this happens, end the processing of the			* Windows message by returning zero as the result of			* the window proc.			*/			sendFocusEvent (code == OS.CBN_SETFOCUS ? SWT.FocusIn : SWT.FocusOut, -1);			if (isDisposed ()) return LRESULT.ZERO;			break;	}	return super.wmCommandChild (wParam, lParam);}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re免费视频精品全部| 国产精品大尺度| 中文字幕综合网| 蜜臀99久久精品久久久久久软件| 粉嫩av亚洲一区二区图片| 欧美日韩美少妇| 国产精品久久久久毛片软件| 久久精品国产亚洲a| 在线视频一区二区免费| 国产精品女主播在线观看| 蜜芽一区二区三区| 日本福利一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 另类小说一区二区三区| 91精品国产麻豆国产自产在线| 亚洲日本在线观看| 国产99久久久国产精品潘金| 日韩一区二区电影在线| 日韩综合在线视频| 欧美人妖巨大在线| 亚洲自拍都市欧美小说| 99久久综合99久久综合网站| 国产精品入口麻豆原神| 国产91富婆露脸刺激对白| 精品国产乱码久久久久久久| 美女网站一区二区| 欧美一卡2卡3卡4卡| 日本中文一区二区三区| 欧美日韩精品一区视频| 婷婷中文字幕一区三区| 777午夜精品免费视频| 午夜精品久久久久| 91麻豆精品国产91久久久更新时间| 亚洲永久免费av| 欧美自拍偷拍午夜视频| 亚洲国产精品久久艾草纯爱| 精品视频1区2区| 天天色综合天天| 日韩一卡二卡三卡国产欧美| 久久国内精品自在自线400部| 日韩视频不卡中文| 韩国女主播成人在线观看| 国产亚洲欧美一级| bt欧美亚洲午夜电影天堂| 成人欧美一区二区三区小说 | 国产亚洲精品bt天堂精选| 国产麻豆欧美日韩一区| 国产精品五月天| 色先锋aa成人| 婷婷国产v国产偷v亚洲高清| 日韩一二三四区| 国产成人av电影在线| 亚洲日本中文字幕区| 欧美日本高清视频在线观看| 久久黄色级2电影| 国产精品视频看| 欧美在线小视频| 免费不卡在线视频| 中文字幕精品在线不卡| 欧洲另类一二三四区| 麻豆专区一区二区三区四区五区| 久久只精品国产| 99久久精品国产精品久久| 亚洲午夜一区二区三区| 精品国产欧美一区二区| aaa欧美大片| 日韩黄色在线观看| 亚洲国产高清不卡| 欧美日韩国产三级| 国产精品综合在线视频| 亚洲精品免费电影| 精品卡一卡二卡三卡四在线| 99精品国产91久久久久久 | 国产色婷婷亚洲99精品小说| 日本精品免费观看高清观看| 经典三级在线一区| 亚洲九九爱视频| 久久久亚洲午夜电影| 91精品福利在线| 国产99久久久国产精品潘金| 日韩国产欧美在线播放| 国产精品久久久久永久免费观看 | 视频一区二区三区中文字幕| 中文字幕国产一区| 日韩欧美高清一区| 色哟哟精品一区| 国产不卡视频一区| 免费成人在线观看视频| 亚洲综合视频在线| 中文字幕二三区不卡| 2020国产精品久久精品美国| 欧美精品在线观看播放| 91老司机福利 在线| 欧洲亚洲国产日韩| 成人午夜视频在线| 麻豆精品一区二区三区| 亚洲成av人片在www色猫咪| 国产精品二三区| 国产精品素人一区二区| 久久免费电影网| 欧美一区二区视频观看视频| 欧美色图12p| 91在线免费播放| 成人午夜大片免费观看| 国产精品一区二区91| 麻豆精品视频在线观看免费| 日韩av不卡一区二区| 午夜精品久久久久久久久久| 亚洲永久免费av| 一区二区三区免费| 一区二区国产盗摄色噜噜| 国产精品免费视频观看| 国产精品乱码妇女bbbb| 欧美经典一区二区| 欧美激情中文不卡| 国产欧美精品国产国产专区| 精品国产伦一区二区三区免费| 欧美一区二区三区四区久久 | 99精品视频在线观看| 波多野结衣中文一区| 99国产精品久久久久久久久久| 成人国产在线观看| 99热精品一区二区| 91成人免费在线视频| 欧美美女喷水视频| 91麻豆精品国产91久久久使用方法| 91精品国产综合久久蜜臀| 欧美成人一区二区三区片免费| 欧美zozo另类异族| 国产欧美日韩不卡免费| 中文字幕一区二区三区精华液| 综合久久国产九一剧情麻豆| 亚洲午夜久久久久久久久电影院| 亚洲一二三专区| 亚洲成va人在线观看| 日韩精品电影在线| 国产一区二区三区在线观看免费视频 | 热久久国产精品| 国产精品综合一区二区三区| 在线观看91av| 精品少妇一区二区三区视频免付费| 精品国产欧美一区二区| 日本一区二区三区dvd视频在线 | av不卡免费在线观看| 欧美色偷偷大香| xnxx国产精品| 中文字幕日韩精品一区| 肉肉av福利一精品导航| 国产高清视频一区| 日本精品视频一区二区| 精品国产一区二区三区av性色| 中文字幕国产一区二区| 亚洲国产成人91porn| 国产在线播精品第三| 日本乱人伦aⅴ精品| 精品国产第一区二区三区观看体验| 国产精品看片你懂得| 青青草国产成人av片免费| 成人av片在线观看| 欧美一级片免费看| 亚洲精品免费在线观看| 国模无码大尺度一区二区三区| 欧美在线观看你懂的| 国产欧美综合在线| 日本网站在线观看一区二区三区| eeuss鲁片一区二区三区| 日韩一二三区视频| 一区二区三区国产豹纹内裤在线| 精品一区二区三区免费播放 | 五月综合激情网| 成人av电影免费观看| 欧美xxx久久| 亚洲高清视频在线| 91影院在线观看| 久久精品人人做| 久久精品国产77777蜜臀| 91黄视频在线观看| 中文幕一区二区三区久久蜜桃| 精品午夜一区二区三区在线观看| 欧美日韩精品久久久| 亚洲精品伦理在线| 91色在线porny| 国产日韩亚洲欧美综合| 久久99精品久久久| 欧美一区二区网站| 亚洲国产欧美在线| 91福利视频网站| 亚洲乱码日产精品bd| 成人av电影在线网| 欧美激情一区三区| 国产在线不卡一区| 久久无码av三级| 国产一区二区三区综合| 精品福利一二区| 国产又黄又大久久| 精品国产污网站| 国内精品伊人久久久久av一坑| 欧美一区二区视频观看视频| 日韩av中文字幕一区二区 | 国产午夜精品一区二区三区视频|