?? sec-gdkevent.html
字號:
</td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventProperty</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_SELECTION_CLEAR</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventSelection</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_SELECTION_REQUEST</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventSelection</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_SELECTION_NOTIFY</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventSelection</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_PROXIMITY_IN</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventProximity</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_PROXIMITY_OUT</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventProximity</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_DRAG_ENTER</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventDND</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_DRAG_LEAVE</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventDND</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_DRAG_MOTION</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventDND</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_DRAG_STATUS</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventDND</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_DROP_START</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventDND</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_DROP_FINISHED</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventDND</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_CLIENT_EVENT</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventClient</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_VISIBILITY_NOTIFY</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventVisibility</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_NO_EXPOSE</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GdkEventNoExpose</span> </td> </tr> </table> </div> </div> <div class="SECT2"> <h2 class="SECT2"> <a name="Z118">The Event Mask</a> </h2> <p> Each <span class="STRUCTNAME">GdkWindow</span> has an associated <i class="FIRSTTERM">event mask</i> which determines which events on that window the X server will forward to your application. You specify the event mask when a <span class="STRUCTNAME">GdkWindow</span> is created, as part of the <span class="STRUCTNAME"> GdkWindowAttr</span> struct (<a href= "sec-gdkwindow.html#SEC-GDKWINATTR">the section called <i><span class="STRUCTNAME">GdkWindow</span> Attributes</i></a>). You can access and change the event mask later using <tt class="FUNCTION"> gdk_window_set_events()</tt> and <tt class="FUNCTION"> gdk_window_get_events()</tt>. If the <span class= "STRUCTNAME">GdkWindow</span> in question belongs to a widget, you should not change the event mask directly; rather, call <tt class="FUNCTION"> gtk_widget_set_events()</tt> or <tt class="FUNCTION"> gtk_widget_add_events()</tt>. <tt class="FUNCTION"> gtk_widget_set_events()</tt> should be used after a widget is realized; <tt class="FUNCTION"> gtk_widget_add_events()</tt> can be used to add events to the existing mask at any time. <a href= "sec-gdkevent.html#FL-GDKWINDOWEVENTS">Figure 5</a> and <a href="sec-gdkevent.html#FL-WIDGETEVENTS">Figure 6</a> show these functions. </p> <div class="FIGURE"> <a name="FL-GDKWINDOWEVENTS"></a> <div class="FUNCSYNOPSIS"> <a name="FL-GDKWINDOWEVENTS.SYNOPSIS"></a> <table border="0" bgcolor="#E0E0E0" width="100%"> <tr> <td><pre class="FUNCSYNOPSISINFO">#include <gdk/gdk.h></pre> </td> </tr> </table> <p> <code><code class="FUNCDEF">GdkEventMask <tt class= "FUNCTION"> gdk_window_get_events</tt></code>(GdkWindow* <tt class="PARAMETER"><i>window</i></tt>);</code> </p> <p> <code><code class="FUNCDEF">void <tt class= "FUNCTION"> gdk_window_set_events</tt></code>(GdkWindow* <tt class="PARAMETER"><i>window</i></tt>, GdkEventMask <tt class="PARAMETER"><i>event_mask</i></tt>);</code> </p> </div> <p> <b>Figure 5. <span class="STRUCTNAME">GdkWindow</span> Event Mask</b> </p> </div> <div class="FIGURE"> <a name="FL-WIDGETEVENTS"></a> <div class="FUNCSYNOPSIS"> <a name="FL-WIDGETEVENTS.SYNOPSIS"></a> <table border="0" bgcolor="#E0E0E0" width="100%"> <tr> <td><pre class="FUNCSYNOPSISINFO">#include <gtk/gtkwidget.h></pre> </td> </tr> </table> <p> <code><code class="FUNCDEF">gint <tt class= "FUNCTION"> gdk_widget_get_events</tt></code>(GtkWidget* <tt class="PARAMETER"><i>widget</i></tt>);</code> </p> <p> <code><code class="FUNCDEF">void <tt class= "FUNCTION"> gtk_widget_add_events</tt></code>(GtkWidget* <tt class="PARAMETER"><i>widget</i></tt>, gint <tt class= "PARAMETER"><i>event_mask</i></tt>);</code> </p> <p> <code><code class="FUNCDEF">void <tt class= "FUNCTION"> gtk_widget_set_events</tt></code>(GtkWidget* <tt class="PARAMETER"><i>widget</i></tt>, gint <tt class= "PARAMETER"><i>event_mask</i></tt>);</code> </p> </div> <p> <b>Figure 6. Widget Event Mask</b> </p> </div> <p> <a href="sec-gdkevent.html#TAB-EVENTMASK">Table 3</a> shows which event masks request which events. Some events do not have to be selected to be received; in particular: </p> <ul> <li> <p> Map, unmap, destroy, and configure events are selected with <span class="STRUCTNAME"> GDK_STRUCTURE_MASK</span>, but GDK automatically selects them on any new window. (Xlib programmers beware; Xlib does not do this.) </p> </li> <li> <p> Selection, client, drag-and-drop, and delete events have no masks, because they are automatically selected (Xlib selects them for all windows). </p> </li> </ul> <div class="TABLE"> <a name="TAB-EVENTMASK"></a> <p> <b>Table 3. Event Masks</b> </p> <table border="1" bgcolor="#E0E0E0" cellspacing="0" cellpadding="4" class="CALSTABLE"> <tr> <th align="LEFT" valign="TOP"> Mask </th> <th align="LEFT" valign="TOP"> Event Type </th> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_EXPOSURE_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_EXPOSE</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_POINTER_MOTION_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_MOTION_NOTIFY</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_POINTER_MOTION_HINT_MASK</span> </td> <td align="LEFT" valign="TOP"> N/A (see <a href= "sec-gdkevent.html#SEC-MOVEMENTEVENTS">the section called <i>Mouse Movement Events</i></a>) </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_BUTTON_MOTION_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_MOTION_NOTIFY</span> (while a button is pressed) </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_BUTTON1_MOTION_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_MOTION_NOTIFY</span> (while button 1 is pressed) </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_BUTTON2_MOTION_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_MOTION_NOTIFY</span> (while button 2 is pressed) </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_BUTTON3_MOTION_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_MOTION_NOTIFY</span> (while button 3 is pressed) </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_BUTTON_PRESS_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_BUTTON_PRESS</span>, <span class="STRUCTNAME">GDK_2BUTTON_PRESS</span>, <span class="STRUCTNAME">GDK_3BUTTON_PRESS</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME"> GDK_BUTTON_RELEASE_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_BUTTON_RELEASE</span> </td> </tr> <tr> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_KEY_PRESS_MASK</span> </td> <td align="LEFT" valign="TOP"> <span class="STRUCTNAME">GDK_KEY_PRESS</span> </td> </tr>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -