深化JAVA事情触发ITeye - 众发娱乐

深化JAVA事情触发ITeye

2019年03月01日14时54分42秒 | 作者: 安珊 | 标签: 事情,函数,体系 | 浏览: 502

SWT中事情的触发借助于底层操作体系,因而首要贴出windows下的体系函数: LRESULT CALLBACK WindowProc( _In_ HWND hwnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam 当用户单击某个控件时首要由操作体系调用Display的windowProc办法 *handle为体系事情的句柄140051169515536 *userata为事情类型(留意:这儿事情指的是体系事情) long /*int*/ windowProc (long /*int*/ handle, long /*int*/ user_data) { Widget widget = getWidget (handle);//依据句柄取得相应的控件,本比如中为Button if (widget null) return 0; return widget.windowProc (handle, user_data);//调用widget的windowProc函数, //该函数并没有被子类Button重写,因而Button承继了父类的函数 Widget的windowProc函数 //依据体系事情类型(user_data),调用相应的处理函数,这儿为Button重写的gtk_clicked函数。 long /*int*/ windowProc (long /*int*/ handle, long /*int*/ user_data) { switch ((int)/*64*/user_data) { case ACTIVATE: return gtk_activate (handle); case CHANGED: return gtk_changed (handle); case CLICKED: return gtk_clicked (handle); case CREATE_MENU_PROXY: return gtk_create_menu_proxy (handle); case DAY_SELECTED: return gtk_day_selected (handle); case DAY_SELECTED_DOUBLE_CLICK: return gtk_day_selected_double_click (handle); case HIDE: return gtk_hide (handle); case GRAB_FOCUS: return gtk_grab_focus (handle); case MAP: return gtk_map (handle); case MONTH_CHANGED: return gtk_month_changed (handle); case OUTPUT: return gtk_output (handle); case POPUP_MENU: return gtk_popup_menu (handle); case PREEDIT_CHANGED: return gtk_preedit_changed (handle); case REALIZE: return gtk_realize (handle); case START_INTERACTIVE_SEARCH: return gtk_start_interactive_search (handle); case SELECT: return gtk_select (handle); case SELECTION_DONE: return gtk_selection_done (handle); case SHOW: return gtk_show (handle); case VALUE_CHANGED: return gtk_value_changed (handle); case UNMAP: return gtk_unmap (handle); case UNREALIZE: return gtk_unrealize (handle); default: return 0; 以下是Button类的gtk_clicked函数 long /*int*/ gtk_clicked (long /*int*/ widget) { if ((style SWT.RADIO) != 0) {//当Button类型为单选按钮时 if ((parent.getStyle () SWT.NO_RADIO_GROUP) != 0) { setSelection (!selected); } else { selectRadio (); } else { if ((style SWT.CHECK) != 0) {//当Button类型为多选按钮时 if (grayed) { if (OS.gtk_toggle_button_get_active (handle)) { OS.gtk_toggle_button_set_inconsistent (handle, true); } else { OS.gtk_toggle_button_set_inconsistent (handle, false); sendSelectionEvent (SWT.Selection); return 0;
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    深化JAVA事情触发ITeye

    事情,函数,体系
  • 2

    MD5 加密ITeye

    加密,传入,办法
  • 3
  • 4
  • 5

    bzoj1086: [SCOI2005]王室联邦ITeye

    联通,分块,一棵树
  • 6

    bzoj1086: [SCOI2005]王室联邦ITeye

    联通,分块,一棵树
  • 7

    MFC动态链接库ITeye

    文件,运用,头文件
  • 8

    WebService JaxITeye

    功用,客户端,运用
  • 9
  • 10