檢視原始碼 wxContextMenuEvent (wx v2.4.3)

這個類別用於上下文選單事件,發送給應用程式,使其有機會為 wxWindow 顯示上下文(快顯)選單。

請注意,如果 getPosition/1 返回 wxDefaultPosition,這表示事件起源於鍵盤的上下文按鈕事件,您應該自行計算合適的位置,例如呼叫 wx_misc:getMousePosition/0

請注意,在不同平台上,滑鼠事件的確切順序是不同的。例如,在 MSW 下,上下文選單事件是在 EVT_RIGHT_UP 事件之後產生,且僅在該事件未被處理時才產生,但在 GTK 下,上下文選單事件是在 EVT_RIGHT_DOWN 事件之後產生。這是正確的,因為它確保了上下文選單是根據目前平台的 UI 慣例顯示的,同時也意味著如果您打算處理 EVT_CONTEXT_MENU 事件,則您不得處理(或在您的處理程式中呼叫 wxEvent:skip/2)滑鼠右鍵按下或滑鼠右鍵抬起事件。

請參閱

這個類別繼承自下列類別,並可以使用其函式:

wxWidgets 文件: wxContextMenuEvent

事件

使用 wxEvtHandler:connect/3wxContextMenuEventType 來訂閱此類型的事件。

摘要

函式

返回選單應該顯示的螢幕座標位置。

設定選單應該顯示的位置。

類型

-type wxContextMenu() ::
          #wxContextMenu{type :: wxContextMenuEvent:wxContextMenuEventType(),
                         pos :: {X :: integer(), Y :: integer()}}.
-type wxContextMenuEvent() :: wx:wx_object().
連結到此類型

wxContextMenuEventType()

檢視原始碼
-type wxContextMenuEventType() :: context_menu.

函式

-spec getPosition(This) -> {X :: integer(), Y :: integer()} when This :: wxContextMenuEvent().

返回選單應該顯示的螢幕座標位置。

使用 wxWindow:screenToClient/2 來轉換為客戶端座標。

您也可以在 wxWindow:popupMenu/4 中省略位置,以便使用目前的滑鼠指標位置。

如果事件起源於鍵盤事件,則此函式返回的值將為 wxDefaultPosition。

連結到此函式

setPosition(This, Point)

檢視原始碼
-spec setPosition(This, Point) -> ok
                     when This :: wxContextMenuEvent(), Point :: {X :: integer(), Y :: integer()}.

設定選單應該顯示的位置。