对话框禁止改变大小

时间:2021-08-05 03:34:12
我新建的MFC对话框,设置的打开就是最大化,最大化最小化栏都没有添加。
我想固定对话框大小,就是让它一直都是最大化的状态,怎么办?
属性栏有没有直接设置的?
没有的话怎么添加代码?
我看了网上的添加onsize响应然后函数体不写,
还有重写PreCreateWindow,
双击标题栏就又变小了。
(不是鼠标拉边框,是双击标题栏变小的问题)

10 个解决方案

#1




BOOL CXX::PreTranslateMessage(MSG* pMsg)
{
 if(message == WM_SYSCOMMAND && wParam == SC_MINIMIZE) 
{
  Return 0;
}
}

#2


不好意思上面写错了 试试这个

BOOL CXX::PreTranslateMessage(MSG* pMsg)
{
 if(pMsg->message == WM_SYSCOMMAND && pMsg->wParam == SC_MINIMIZE) 
{
  Return 0;
}
}

#3


对话框上去掉最小化最大化按钮,边框调整为不可变的,完活

#4


引用 3 楼 my3439955 的回复:
对话框上去掉最小化最大化按钮,边框调整为不可变的,完活


就是问边框咋不可变的,你这一句话没了。。

#5


边框属性设为Dialog Frame

#6


引用 4 楼 baidu_16797803 的回复:
Quote: 引用 3 楼 my3439955 的回复:

对话框上去掉最小化最大化按钮,边框调整为不可变的,完活


就是问边框咋不可变的,你这一句话没了。。


对话框属性中边框类型如果是可变的,你随便换一个就ok了

#7


修改对话框窗口类的属性。

#8


直接设置成固定大小即可,比如400*300
CRect temprect(0,0,400,300);   
CWnd::SetWindowPos(NULL,0,0,temprect.Width(),temprect.Height(),SWP_NOZORDER|SWP_NOMOVE);

#9


初始化时//
ShowWindow(SW_SHOWMAXIMIZED);

#10


五楼正解,其它扯淡

#1




BOOL CXX::PreTranslateMessage(MSG* pMsg)
{
 if(message == WM_SYSCOMMAND && wParam == SC_MINIMIZE) 
{
  Return 0;
}
}

#2


不好意思上面写错了 试试这个

BOOL CXX::PreTranslateMessage(MSG* pMsg)
{
 if(pMsg->message == WM_SYSCOMMAND && pMsg->wParam == SC_MINIMIZE) 
{
  Return 0;
}
}

#3


对话框上去掉最小化最大化按钮,边框调整为不可变的,完活

#4


引用 3 楼 my3439955 的回复:
对话框上去掉最小化最大化按钮,边框调整为不可变的,完活


就是问边框咋不可变的,你这一句话没了。。

#5


边框属性设为Dialog Frame

#6


引用 4 楼 baidu_16797803 的回复:
Quote: 引用 3 楼 my3439955 的回复:

对话框上去掉最小化最大化按钮,边框调整为不可变的,完活


就是问边框咋不可变的,你这一句话没了。。


对话框属性中边框类型如果是可变的,你随便换一个就ok了

#7


修改对话框窗口类的属性。

#8


直接设置成固定大小即可,比如400*300
CRect temprect(0,0,400,300);   
CWnd::SetWindowPos(NULL,0,0,temprect.Width(),temprect.Height(),SWP_NOZORDER|SWP_NOMOVE);

#9


初始化时//
ShowWindow(SW_SHOWMAXIMIZED);

#10


五楼正解,其它扯淡