【MFC】无边框窗体 WS_THICKFRAME
1.没有WS_THICKFRAME,有WS_SYSMENU,就没办法通过相应WM_NCHITTEST,去处理窗口的缩放。
2.没有WS_THICKFRAME,也没有WS_SYSMEN,在xp系统下任务栏就没有右键菜单弹出。
所以呢,没有WS_THICKFRAME会带来一些不必要的麻烦。但是有WS_THICKFRAME无边框又不行了。
那么给出的解决方案是:
响应WM_NCCALCSIZE消息,对消息进行截获处理
LRESULT OnNcCalcSize( UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/ ) { NCCALCSIZE_PARAMS* lpncsp = (NCCALCSIZE_PARAMS*)lParam; if((BOOL)wParam) { lpncsp->rgrc[2] = lpncsp->rgrc[1]; lpncsp->rgrc[1] = lpncsp->rgrc[0]; } return TRUE; }