简介

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.//移动

转载于:https://www.cnblogs.com/tinaluo/p/7361861.html

onsyscommand相关推荐

  1. 关于系统响应函数OnSysCommand

    void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam) 这个函数响应系统控制菜单的命令.(即左上角图标处). OnSysCommand:The fra ...

  2. OnSysCommand( UINT nID, LPARAM lParam );分析

    CWnd::OnSysCommand afx_msg void OnSysCommand( UINT nID, LPARAM lParam ); 参数: nID 指定了请求的系统命令的类型.这个参数可 ...

  3. ce变速注入dll失败_[LAB]一种无痕Dll模块注入方式

    0x00 前言 方式:CreateRemoteThread 需要:visual studio 2015 需要:进程模块查看器,如[PCHunter][ProcessHacker]等. 需要:创建一个用 ...

  4. vc++给控件添加消息和函数

    在这个地方主要说一下给按钮控件添加双击消息,因为我们给按按钮控件添加双击消息的时候,并且创建一个函数发现并没有触发这个消息,,比如: void CABDlg::OnDoubleclickedButto ...

  5. VC++动态链接库(DLL)编程(四)――MFC扩展 DLL

    VC++动态链接库(DLL)编程(四) ――MFC扩展 DLL 作者:宋宝华  e-mail:21cnbao@21cn.com   前文我们对非MFC DLL和MFC规则DLL进行了介绍,现在开始详细 ...

  6. MFC:怎么将程序窗口最小化到系统托盘

    (一)原理 1.最小化的原理:首先要将窗口隐藏,然后在右下角绘制图标. 2.恢复的原理:将窗口显示,再将托盘中的图片删除. (二)程序实现 1.自定义消息WM_SHOWTASK: #define WM ...

  7. MFC中的几个常用类——CWnd

    2019独角兽企业重金招聘Python工程师标准>>> 1 窗口类 1.1 概述 CObject └CCmdTarget └CWnd CWnd是MFC窗口类的 基类,提供了微软基础类 ...

  8. UDP通讯C++实现

    下面是MFC对话框程序,具体说明见注释 // Socket_UDPDlg.cpp : 实现文件 //#include "stdafx.h" #include "Socke ...

  9. Win32编程day04 学习笔记

    一 Win32消息机制 1 消息机制       过程驱动:程序是按照我们预先定义好的顺序执行,每执行一步,下一步都已经按照预定的顺序继续执行,直到程序结束.           事件驱动:程序的执行 ...

最新文章

  1. java包和继承的区别,子类和父类在同一个包中继承性
  2. 如何打造一份优雅的简历?
  3. 王者荣耀6月23服务器维护,王者荣耀6.23维护到什么时候?6月23日长枪掠火版本异常介绍...
  4. 软件工程 之 画扇面
  5. “虎力全开”采购季,存储产品已就位
  6. python发展路线_Python进阶路径-从学徒到大师
  7. 有效的数据处理:使用Tango库进行压缩和加密
  8. Portal-Basic Java Web应用开发框架V3.0正式发布(源码、实例及文档)
  9. linux配置java环境变量(转)
  10. Emacs之hs-minor-mode折叠代码
  11. UE4官方文档阅读笔记——编程指南
  12. Oracle P6培训系列:10增加作业并估算工期
  13. NOPI导出excel
  14. SpriteKit快速入门和新时代iOS游戏开发指南
  15. 遭遇 kapjazy.dll,yhpri.dll,WinSys64.Sys,nwiztlbu.exe,myplayer.com 等2
  16. android云控开源,Android EasyClient 云台控制开源流媒体摄像机EasyCamera
  17. arc用matlab表示,arctanx在matlab中怎么表示?
  18. Bootstrap 表格内容水平、垂直居中
  19. 输入某年某月某日,判断这一天是这一年的第几天python
  20. Invariance Matters: Exemplar Memory for Domain AdaptivePerson Re-identification

热门文章

  1. div的水平居中和垂直居中
  2. 安卓Android面试题大全
  3. 解决eclipse报PermGen space内存溢出异常的问题
  4. Lucene学习之四:Lucene的索引文件格式(3)
  5. 关于myeclipise注册机run.bat运行失败的解决方法
  6. 欣赏你的孩子(ZT)
  7. 【Hadoop】java.io.IOException: Failed on local exception: java.nio.channels.ClosedByInterruptException
  8. 03-25 内存统计
  9. 7系统内部系统组件禁止休眠_海康监控系统平台设计思路(二)
  10. 如何学习-我是这样学JS理论![不看后悔篇]