说明:主要就是处理WM_NCHITTEST消息
switch (message)
{
case WM_NCHITTEST:
// 禁止拖动窗口
return HTCLIENT;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
如果是Duilib实现的, 那么你的处理要这么写:
LRESULT CGNMainDlg::OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
return 禁止? HTCLIENT : CGNWindowImplBaseEx::OnNcHitTest(uMsg, wParam, lParam, bHandled);
}
注意: 是一个单独的处理函数,不在 OnSysCommand 或者 HandleCustomMessage 中处理
实在不行也可以试试
// 去掉标题栏属性
LONG style = ::GetWindowLong(m_hWnd, GWL_STYLE);
style = style & ~WS_CAPTION;
::SetWindowLong(m_hWnd, GWL_STYLE, style);