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

雜項函式。

摘要

函式

將應用程式中所有視窗的游標變更為指定的游標。

發出系統提示音。

以像素為單位傳回顯示器尺寸。

將應用程式中所有視窗的游標變更回原始游標。

尋找與指定框架選單列相關聯的選單項目識別碼。

在螢幕座標中,尋找指定滑鼠位置最深層的視窗,如果找到則傳回視窗,否則傳回 NULL。

傳回目前的 ID。

將使用者的電子郵件地址複製到提供的緩衝區中,方法是串連 wxGetFullHostName() (wx 中未實作) 和 wx_misc:getUserId/0 傳回的值。

傳回 (目前) 使用者的主目錄。

對於一般按鍵,如果指定的按鍵目前處於按下狀態,則傳回 true。

以螢幕座標傳回滑鼠位置。

傳回滑鼠目前的狀態。

傳回包含目前平台說明的使用者可讀取字串。

此函式傳回「使用者 ID」,在 Unix 下也稱為「登入名稱」(即。

如果在兩個 wx_misc:beginBusyCursor/1wx_misc:endBusyCursor/0 呼叫之間,則傳回 true。

如果程式執行的作業系統是 64 位元,則傳回 true。

如果目前平台是小端 (而不是大端),則傳回 true。

在使用者預設瀏覽器中開啟 url

已棄用

確保後續由 wx_misc:newId/0 產生的 ID 不會與指定的 id 衝突。

全域設定游標;僅在 Windows、Mac 和 GTK+ 上生效。

不要合成按住按鍵並產生自動重複的 KeyDown 事件的 KeyUp 事件。

等同於 shell([])

在互動式 Shell 視窗中執行命令。

等同於 shutdown([])

此函式會根據 flags 的值關閉或重新啟動電腦。

函式

-spec beginBusyCursor() -> ok.

等同於 beginBusyCursor([])

連結至此函式

beginBusyCursor(Options)

檢視原始碼
-spec beginBusyCursor([Option]) -> ok when Option :: {cursor, wxCursor:wxCursor()}.

將應用程式中所有視窗的游標變更為指定的游標。

使用 wx_misc:endBusyCursor/0 將游標恢復為先前的狀態。這兩個呼叫可以巢狀,並且計數器可確保只有外部呼叫生效。

請參閱:wx_misc:isBusy/0

-spec bell() -> ok.

發出系統提示音。

注意:此函式歸類為 GUI 函式,因此不是執行緒安全的。

-spec displaySize() -> {Width :: integer(), Height :: integer()}.

以像素為單位傳回顯示器尺寸。

注意:不建議在新程式碼中使用此函式,因為它僅適用於主要顯示器。請改用 wxDisplay:getGeometry/1 來擷取適當顯示器的尺寸。

如果呼叫者不關心對應的值,則輸出指標的任一個都可以是 NULL。

請參閱:wxDisplay

-spec endBusyCursor() -> ok.

將應用程式中所有視窗的游標變更回原始游標。

wx_misc:beginBusyCursor/1 一起使用。

請參閱:wx_misc:isBusy/0

連結至此函式

findMenuItemId(Frame, MenuString, ItemString)

檢視原始碼
-spec findMenuItemId(Frame, MenuString, ItemString) -> integer()
                        when
                            Frame :: wxFrame:wxFrame(),
                            MenuString :: unicode:chardata(),
                            ItemString :: unicode:chardata().

尋找與指定框架選單列相關聯的選單項目識別碼。

-spec findWindowAtPoint(Pt) -> wxWindow:wxWindow() when Pt :: {X :: integer(), Y :: integer()}.

在螢幕座標中,尋找指定滑鼠位置最深層的視窗,如果找到則傳回視窗,否則傳回 NULL。

此函式會將指定位置的子視窗納入考量,即使它們已停用。但是,它會略過隱藏的子視窗。

-spec getCurrentId() -> integer().

傳回目前的 ID。

-spec getEmailAddress() -> unicode:charlist().

將使用者的電子郵件地址複製到提供的緩衝區中,方法是串連 wxGetFullHostName() (wx 中未實作) 和 wx_misc:getUserId/0 傳回的值。

傳回值:如果成功,則為 true,否則為 false。

-spec getHomeDir() -> unicode:charlist().

傳回 (目前) 使用者的主目錄。

-spec getKeyState(Key) -> boolean() when Key :: wx:wx_enum().

對於一般按鍵,如果指定的按鍵目前處於按下狀態,則傳回 true。

對於可切換按鍵 (Caps Lock、Num Lock 和 Scroll Lock),如果按鍵已切換,使其 LED 指示燈亮起,則傳回 true。目前沒有方法可以測試可切換按鍵是向上還是向下。

即使針對滑鼠按鈕定義了虛擬按鍵碼,目前也無法將它們與此函式一起使用。

在 wxGTK 中,目前如果不使用 X11 後端,此函式只能與修飾鍵 (WXK_ALTWXK_CONTROLWXK_SHIFT) 一起使用。

-spec getMousePosition() -> {X :: integer(), Y :: integer()}.

以螢幕座標傳回滑鼠位置。

-spec getMouseState() -> wx:wx_wxMouseState().

傳回滑鼠目前的狀態。

傳回 wx_wxMouseState() 執行個體,其中包含滑鼠指標在螢幕座標中的目前位置,以及表示滑鼠按鈕和修飾鍵向上/向下狀態的布林值。

-spec getOsDescription() -> unicode:charlist().

傳回包含目前平台說明的使用者可讀取字串。

例如,此函式可能會傳回類似 "Windows 10 (組建 10240),64 位元版本" 或 "Linux 4.1.4 i386" 的字串。

-spec getUserId() -> unicode:charlist().

此函式傳回「使用者 ID」,在 Unix 下也稱為「登入名稱」(即。

類似 "jsmith") 的內容。它會唯一識別 (在此系統上) 的目前使用者。在 Windows 或 NT 下,此函式會先在環境變數 USER 和 LOGNAME 中尋找;如果找不到其中任何一個,則會嘗試 WIN.INI 檔案的 wxWidgets 區段中的 UserId 項目。

傳回值:如果成功,則為登入名稱,否則為空字串。

-spec isBusy() -> boolean().

如果在兩個 wx_misc:beginBusyCursor/1wx_misc:endBusyCursor/0 呼叫之間,則傳回 true。

-spec isPlatform64Bit() -> boolean().

如果程式執行的作業系統是 64 位元,則傳回 true。

此檢查是在執行階段執行,且可能與編譯階段 (在編譯階段,您只能檢查 sizeof(void*) == 8 是否成立) 可用的值不同,因為程式可能正在模擬模式或在混合 32/64 位元系統 (雙架構作業系統) 中執行。

注意:此函式在某些系統上並非 100% 可靠,因為並非始終都有標準方法可對作業系統架構進行可靠檢查。

連結至此函式

isPlatformLittleEndian()

檢視原始碼
-spec isPlatformLittleEndian() -> boolean().

如果目前平台是小端 (而不是大端),則傳回 true。

此檢查是在執行階段執行。

連結至此函式

launchDefaultBrowser(Url)

檢視原始碼
-spec launchDefaultBrowser(Url) -> boolean() when Url :: unicode:chardata().

等同於 launchDefaultBrowser(Url, [])

連結至此函式

launchDefaultBrowser(Url, Options)

檢視原始碼
-spec launchDefaultBrowser(Url, [Option]) -> boolean()
                              when Url :: unicode:chardata(), Option :: {flags, integer()}.

在使用者預設瀏覽器中開啟 url

如果 flags 參數包含 wxBROWSER_NEW_WINDOW 旗標,則會為 URL 開啟新視窗 (目前僅在 Windows 下支援)。

除非 flags 參數包含 wxBROWSER_NOBUSYCURSOR 旗標,否則在啟動瀏覽器時 (使用 wxBusyCursor (wx 中未實作)) 會顯示忙碌游標。

參數 url 的解譯方式如下

  • 如果它有有效的配置 (例如 "file:""http:""mailto:"),則會將其傳遞至使用者系統中設定的適當瀏覽器。

  • 如果它沒有有效的配置 (例如,它是沒有 "file:" 前置詞的本機檔案路徑),則會使用 ?wxFileExists 和 ?wxDirExists 來測試它是否為本機檔案/目錄;如果是,則會使用 url 參數呼叫瀏覽器,最終會加上 "file:" 前置詞。

  • 如果它沒有有效的配置,且不是本機檔案/目錄,則會加上 "http:" 前置詞並呼叫瀏覽器。

如果應用程式已成功啟動,則傳回 true。

注意:對於執行使用者的某些設定,啟動以開啟指定 URL 的應用程式可能會依 URL 而定 (例如,瀏覽器可能會用於本機 URL,而另一個瀏覽器可能會用於遠端 URL)。

連結至此函式

mSWSetEmulationLevel(Level)

檢視原始碼
-spec mSWSetEmulationLevel(Level) -> boolean() when Level :: wx:wx_enum().
連結至此函式

mSWSetEmulationLevel(Level, Executable)

檢視原始碼
-spec mSWSetEmulationLevel(Level, Executable) -> boolean()
                              when Level :: wx:wx_enum(), Executable :: string().
-spec newId() -> integer().

已棄用

由此產生的 ID 可能會與使用者程式碼定義的 ID 衝突,請使用 wxID_ANY 來指派保證不會與使用者為您建立的控制項和選單項目定義的 ID 衝突的 ID,而不是使用此函式。

產生程式執行期間唯一的整數識別碼。

-spec registerId(Id) -> ok when Id :: integer().

確保後續由 wx_misc:newId/0 產生的 ID 不會與指定的 id 衝突。

-spec setCursor(Cursor) -> ok when Cursor :: wxCursor:wxCursor().

全域設定游標;僅在 Windows、Mac 和 GTK+ 上生效。

您應該使用 wxNullCursor 呼叫此函式來還原系統游標。

請參閱

連結至此函式

setDetectableAutoRepeat(Flag)

檢視原始碼
-spec setDetectableAutoRepeat(Flag) -> boolean() when Flag :: boolean().

不要合成按住按鍵並產生自動重複的 KeyDown 事件的 KeyUp 事件。

預設為啟用,且在 wxMSW 中始終啟用。

-spec shell() -> boolean().

等同於 shell([])

-spec shell([Option]) -> boolean() when Option :: {command, unicode:chardata()}.

在互動式 Shell 視窗中執行命令。

如果未指定任何命令,則只會產生 Shell。

請參閱:範例

-spec shutdown() -> boolean().

等同於 shutdown([])

-spec shutdown([Option]) -> boolean() when Option :: {flags, integer()}.

此函式會根據 flags 的值關閉或重新啟動電腦。

注意:請注意,執行關機需要對應的存取權限 (Unix 下的超級使用者、Windows 下的 SE_SHUTDOWN 權限),且此函式僅在 Unix 和 MSW 下實作。

傳回值:成功時為 true,如果發生錯誤則為 false。