当前位置:首页 科普知识 onsyscommand

onsyscommand

发布时间:2023-09-07 17:25:30

OnSysCommand()这个函数主要是截获控制命令的。

onsyscommand详细介绍

OnSysCommand()这个函数主要是截获控制命令的。

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);

.....

}

onsyscommand

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

就是这样来实现的,

onsyscommand主要区别

注意和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.//最大化

onsyscommand

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

温馨提示:
本文【onsyscommand】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6