onsyscommand

王朝百科·作者佚名  2010-04-23  
宽屏版  字体: |||超大  

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 == SC_CLOSE)

ShowWindow(SW_HIDE);

.....

}

就是这样来实现的,

注意和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_CLOSEClose the CWnd object. //关闭

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

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

SC_RESTORERestore window to normal position and size.//还原

SC_SIZESize the CWnd object. //大小

SC_MOVEMove the CWnd object.//移动

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有