禁止对话框窗口的改变和实现窗口的拉伸
来源:互联网 发布:南京软件开发培训 编辑:程序博客网 时间:2024/06/11 01:12
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
响应这个函数
复制代码
- LRESULT CtestDlg::OnNcHitTest(CPoint point)
- {
- // TODO: 在此添加消息处理程序代码和/或调用默认值
- CRect rect;
- GetWindowRect(&rect);
- if(point.x <= rect.left + 5 && point.y <= rect.top + 5)
- {
- return HTTOPLEFT;
- }
- else if(point.x >= rect.right - 5 && point.y <= rect.top + 5)
- {
- return HTTOPRIGHT;
- }
- else if(point.x <= rect.left + 5 && point.y >= rect.bottom - 5)
- {
- return HTBOTTOMLEFT;
- }
- else if(point.x >= rect.right - 5 && point.y >= rect.bottom - 5)
- {
- return HTBOTTOMRIGHT;
- }
- else if(point.x <= rect.left + 5)
- {
- return HTLEFT;
- }
- else if(point.x >= rect.right - 5)
- {
- return HTRIGHT;
- }
- else if(point.y <= rect.top + 5)
- {
- return HTTOP;
- }
- else if(point.y >= rect.bottom - 5)
- {
- return HTBOTTOM;
- }
- return CDialog::OnNcHitTest(point);
- }
- 禁止对话框窗口的改变和实现窗口的拉伸
- 禁止对话框(窗口)的大小改变和移动
- (VC/MFC)禁止对话框(窗口)的大小改变和移动
- (VC/MFC)禁止对话框(窗口)的大小改变和移动
- (VC/MFC)禁止对话框(窗口)的大小改变和移动
- 禁止改变窗口的大小
- MFC对话框控件和背景图片自适应窗口最大化和拉伸缩放的实现
- VC++自己创建窗口时禁止窗口拉伸改变大小
- MFC禁止窗口最大化按钮和禁止鼠标改变窗口大小的操作
- MFC禁止窗口最大化按钮和禁止改变窗口大小
- 如何禁止双击标题栏不改变窗口的大小和拖动标题栏窗口不移动的问题
- 禁止移动对话框窗口
- VC++6.0禁止改变单文档窗口大小,修改标题的实现
- VC++6.0禁止改变单文档窗口大小,修改标题的实现
- VC++6.0禁止改变单文档窗口大小,修改标题的实现
- 六,关闭窗口X的控制,MFC 禁止对话框关闭按钮和Alt+F4
- qt 实现窗口拉伸
- MFC控件和背景图片自适应窗口最大化和拉伸缩放的实现
- SQL Select Into语句
- 栈内存与堆内存及其使用
- mysql front 注册码
- 用户自动重定向来源页面
- 各种数据库JDBC驱动加载注册方式以及建立连接时的URL字符串
- 禁止对话框窗口的改变和实现窗口的拉伸
- vc++之cdialog
- 关于大学生的减肥与锻炼
- 堆 栈 区别
- 创建Excel报表(传入Map对象)
- 关于内存分配 realloc
- 保护色
- 毫不动摇
- Android 申请WakeLock