CWnd::OnSysCommand
框架调用该成员函数,当用户选择一个命令从菜单控件时,或者,当用户选择最大化或最小化按钮时。
afx_msg void OnSysCommand(
UINT nID,
LPARAM lParam
);
参数
nID
指定请求的系统命令的类型。 此参数可以是以下任一值:SC_CLOSE 关闭 CWnd 对象。
SC_HOTKEY 激活 CWnd 对象与该应用程序指定的快捷键。 lParam 的低序运行标识窗口的 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 消息,Windows在内部使用 nID 参数的四最低位。 当应用程序测试 nID的值时,它必须将该值0xFFF0与 nID 值使用按位与运算符获得正确的结果。
在控制菜单的菜单项可以修改与 GetSystemMenu、 AppendMenu、 InsertMenu和 ModifyMenu 成员函数。 修改控制菜单的应用程序必须处理 WM_SYSCOMMAND 消息和应用程序未处理的所有消息 WM_SYSCOMMAND 必须传递到 OnSysCommand。 必须由应用程序处理应用程序添加的所有命令值,不能传递到 OnSysCommand。
应用程序可以通过 WM_SYSCOMMAND 消息在+任何+时间执行所有系统命令对 OnSysCommand。
定义选择的快捷键(快捷)击键从控件菜单中的项转换为 OnSysCommand 调用;其他快捷键击键转换为 WM_COMMAND 消息。
备注
此成员函数由框架调用提供您的应用程序处理Windows消息。当接收消息,参数传递给函数以反映结构接收的参数。如果调用此函数的基类实现,该实现将使用参数最初用消息您提供给函数而非参数。
要求
Header: afxwin.h