引子

用MFC写的程序,双击标题栏,程序会最大化,再次双击程序还原,如何禁止这样响应呢?

其实这是需要自己对 WM_NCLBUTTONDBLCLK 的消息进行处理。

具体做法

重载 DefWindowProc( ) 函数,过滤WM_NCLBUTTONDBLCLK在HTCAPTION区的响应即可。

这种做法就是,将消息在实现这个功能之前将它过滤掉。

在 类向导 上,重载 虚函数 “ DefWindowProc( ) ”,在里面过滤掉 WM_NCLBUTTONDBLCLK在HTCAPTION区的响应。

代码

LRESULT CStationSheet::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
//add qfx 2015.10.7
switch(message)
{
case WM_NCLBUTTONDBLCLK:
if(HTCAPTION==wParam)
{
return 0;
}
}

return CBCGPPropertySheet::DefWindowProc(message, wParam, lParam);
}