如何使窗口不能被用户移动位置
如题
我找到的方法:
Win32程序中可以实现如下
case WM_NCHITTEST:
{
LRESULT x=DefWindowProc (hwnd, message, wParam, lParam);
switch(x){
case HTTOP://阻止鼠标拖放边框改变大小
case HTTOPLEFT:
case HTTOPRIGHT:
case HTBOTTOM:
case HTBOTTOMLEFT:
case HTBOTTOMRIGHT:
case HTLEFT:
case HTRIGHT:
case HTCAPTION://阻止鼠标选定标题栏
case HTSYSMENU://阻止系统菜单显示
return 0;
}
return x;
}
有没有其他简便方法?MFC窗口如何处理?
[解决办法]
UINT CMainFrame::OnNcHitTest(CPoint point)
{
UINT x = HTTOP | HTTOPLEFT | HTTOPRIGHT | HTBOTTOM | HTBOTTOMLEFT |
HTBOTTOMRIGHT | HTLEFT | HTRIGHT | HTCAPTION | HTSYSMENU;
return x;
// return CFrameWnd::OnNcHitTest(point);
}
[解决办法]
xlzxlich(阳光)正解
[解决办法]
oh,my god 我也不清楚
[解决办法]
学习
[解决办法]
Hook MoveWindow 和SetWindowPos等一系列的API
怎么Hook,参看我BLOG
[解决办法]
UINT CmfcDlg::OnNcHitTest(CPoint point )
{
UINT nHitTest =CDialog::OnNcHitTest(point);
if(nHitTest == HTCAPTION)
return HTCLIENT;
else
return nHitTest;
}前面的写错了,不好意思哈