1.禁止对话框窗口的改变
(1)响应WM_SYSCOMMAND 消息
void CMfcDemoDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if (nID == SC_MOVE || nID==SC_MINIMIZE||nID==SC_MAXIMIZE||SC_CLOSE)
return;
else
CDialog::OnSysCommand(nID, lParam);
}
此函数的功能是使对话框禁止改变大小和最大化、最小化、关闭按钮失效。
(2)
LRESULT CMfcDemoDlg::OnNcHitTest(CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
UINT ret =(UINT)CDialog::OnNcHitTest(point);
if(HTCAPTION == ret)
return HTCLIENT;
return ret;
}
(3)LRESULT CMfcDemoDlg::OnNcHitTest(CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
UINT ret =(UINT)CDialog::OnNcHitTest(point);
//if语句的前两行是用来禁止改变大小的,最后一行是用来禁止移动的
if(HTTOP ==ret || HTBOTTOM == ret || HTLEFT == ret || HTRIGHT == ret
|| HTBOTTOMLEFT == ret ||HTBOTTOMRIGHT == ret || HTTOPLEFT == ret || HTTOPRIGHT == ret || HTCAPTION== ret)
return HTCLIENT;
return ret;
}
2.
随意拉伸无标题对话框的大小
然后将System Menu属性设为False
响应这个函数
复制代码
|