共用方式為


CWnd::OnSysCommand

架構會呼叫此成員函式,當使用者選取命令從功能表控制項時,如果為,當使用者選擇最大化或最小化按鈕時。

afx_msg void OnSysCommand(
   UINT nID,
   LPARAM lParam 
);

參數

  • nID
    指定要求的系統命令類型。 這個參數可以是下列其中一個值:

    • SC_CLOSE 關閉 CWnd 物件。

    • SC_HOTKEY 啟動 CWnd 物件與這個應用程式指定的快速鍵。 lParam 低序位文字識別 Windows 的 HWND 啟動。

    • SC_HSCROLL 水平捲動。

    • SC_KEYMENU 傳遞按鍵擷取功能表。

    • SC_MAXIMIZE (或) SC_ZOOM最大化 CWnd 物件。

    • SC_MINIMIZE (或) SC_ICON最小化 CWnd 物件。

    • SC_MOUSEMENU 藉由按一下滑鼠擷取功能表。

    • SC_MOVE 移動 CWnd 物件。

    • SC_NEXTWINDOW 移至下一個視窗。

    • SC_PREVWINDOW 移至上一個視窗。

    • SC_RESTORE 為一般位置和大小的還原視窗。

    • SC_SCREENSAVE 執行 SYSTEM.INI 檔案的 [開始] 區段中指定的螢幕保護程式應用程式。

    • SC_SIZE 大小 CWnd 物件。

    • SC_TASKLIST 執行或啟動 Windows 工作管理員的應用程式。

    • SC_VSCROLL 垂直捲動。

  • lParam
    如果控制項功能表命令選項使用滑鼠, lParam 包含游標座標。 低序位文字含有 x 座標,高序位文字,並包含 Y 座標。 否則不會使用這個參數。

    • SC_HOTKEY 啟動視窗與這個應用程式指定的快速鍵。 lParam 低序位文字識別視窗啟動。

    • SC_SCREENSAVE 執行 [控制台] 中的桌面部分指定螢幕儲存應用程式。

備註

根據預設, OnSysCommand 執行功能表控制項需要上述表格中所指定的預先定義的動作。

WM_SYSCOMMAND 訊息,視窗內部使用 nID 參數的四個最低。 當應用程式測試 nID的值時,它必須將值 0xFFF0 與 nID 值可以使用位元 AND 運算子取得正確結果。

在控制項功能表的功能表項目可使用變更 GetSystemMenuAppendMenuInsertMenuModifyMenu 成員函式。 修改控制項功能表的應用程式必須處理 WM_SYSCOMMAND 訊息和應用程式尚未處理的所有訊息 WM_SYSCOMMAND 必須傳遞給 OnSysCommand。 必須由應用程式處理應用程式的所有命令值,且不能傳遞給 OnSysCommand

應用程式可以透過 WM_SYSCOMMAND 訊息隨時執行所有系統命令至 OnSysCommand

定義選項的快速鍵 (快速鍵) 按鍵從控制項功能表的項目轉譯成 OnSysCommand 呼叫;其他快速鍵按鍵會轉譯為 WM_COMMAND 訊息。

注意事項注意事項

此成員函式由架構呼叫可以讓您的應用程式處理 Windows 訊息。接收訊息時,參數會傳遞至函式反映這個框架接收的參數。如果您呼叫這個函式的基底類別實作,該實作會使用這個參數起始傳入訊息所提供函式取代的參數。

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

WM_SYSCOMMAND