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 運算子取得正確結果。
在控制項功能表的功能表項目可使用變更 GetSystemMenu、 AppendMenu、 InsertMenu和 ModifyMenu 成員函式。 修改控制項功能表的應用程式必須處理 WM_SYSCOMMAND 訊息和應用程式尚未處理的所有訊息 WM_SYSCOMMAND 必須傳遞給 OnSysCommand。 必須由應用程式處理應用程式的所有命令值,且不能傳遞給 OnSysCommand。
應用程式可以透過 WM_SYSCOMMAND 訊息隨時執行所有系統命令至 OnSysCommand。
定義選項的快速鍵 (快速鍵) 按鍵從控制項功能表的項目轉譯成 OnSysCommand 呼叫;其他快速鍵按鍵會轉譯為 WM_COMMAND 訊息。
注意事項 |
---|
此成員函式由架構呼叫可以讓您的應用程式處理 Windows 訊息。接收訊息時,參數會傳遞至函式反映這個框架接收的參數。如果您呼叫這個函式的基底類別實作,該實作會使用這個參數起始傳入訊息所提供函式取代的參數。 |
需求
Header: afxwin.h