所有栏目

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

.....

}

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

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

热点导航
教育资讯 知道问答 公考资讯 司法考试 建筑知识 工作范文 大学排名 报考专业 学习方法 句子美文 秒知回答 作业解答 精选答案 知途问学