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 值使用按位与运算符获得正确的结果。

在控制菜单的菜单项可以修改与 GetSystemMenuAppendMenuInsertMenuModifyMenu 成员函数。 修改控制菜单的应用程序必须处理 WM_SYSCOMMAND 消息和应用程序未处理的所有消息 WM_SYSCOMMAND 必须传递到 OnSysCommand。 必须由应用程序处理应用程序添加的所有命令值,不能传递到 OnSysCommand

应用程序可以通过 WM_SYSCOMMAND 消息在+任何+时间执行所有系统命令对 OnSysCommand

定义选择的快捷键(快捷)击键从控件菜单中的项转换为 OnSysCommand 调用;其他快捷键击键转换为 WM_COMMAND 消息。

备注

此成员函数由框架调用提供您的应用程序处理Windows消息。当接收消息,参数传递给函数以反映结构接收的参数。如果调用此函数的基类实现,该实现将使用参数最初用消息您提供给函数而非参数。

要求

Header: afxwin.h

请参见

参考

CWnd 类

层次结构图

WM_SYSCOMMAND