zoukankan      html  css  js  c++  java
  • onsyscommand

    简介

    OnSysCommand()这个函数主要是截获控制命令的,msdn上的解释如下:

    The framework calls this member function when the user selects a command from the Control menu, or when the user selects the Maximize or the Minimize button.

    尤其是最大化和最小化窗口的时候,比如现在软件流行的点关闭按钮,不是退出而是隐藏的情况,就可以在这里来实现,

    void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
    {
        if ((nID & 0xFFF0) == SC_CLOSE)
        ShowWindow(SW_HIDE);
        .....
    }

    注意:nID参数的低四位被Windows内部使用。当应用程序测试nID的值时,它必须用AND操作符将值0xFFF0与nID的值组合在一起以获得正确的结果

    区别

    注意和PreTranslateMessage的区别

    PreTranslateMessage是用来截获消息的,msdn的解释如下

    Used by class cwinapp to translate window messages before they are dispatched to the TranslateMessage and DispatchMessage Windows functions.

    virtual BOOL PreTranslateMessage(

    MSG* pMsg

    );

    nID

    SC_CLOSE Close the CWnd object. //关闭

    SC_MAXIMIZE (or SC_ZOOM) Maximize the CWnd object.//最大化

    SC_MINIMIZE (or SC_ICON) Minimize the CWnd object.//最小化

    SC_RESTORE Restore window to normal position and size.//还原

    SC_SIZE Size the CWnd object. //大小

    SC_MOVE Move the CWnd object.//移动

  • 相关阅读:
    团队项目总结
    第二阶段团队绩效评分
    “转赚”------使用说明
    团队站立会议14
    团队站立会议13
    团队站立会议12
    团队站立会议11
    团队站立会议10
    LocalDate 今天是一年中的第几天?
    MAC系统Java环境搭建
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7361861.html
Copyright © 2011-2022 走看看