如何设置“mfc窗体大小”不能改变?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置“mfc窗体大小”不能改变?相关的知识,希望对你有一定的参考价值。

参考技术A 有多种方式:\\x0d\\x0a1、响应WM_GETMINMAXINFO消息(设置lpMMI->ptMinTrackSize和lpMMI->ptMaxTrackSize)\\x0d\\x0a2、响应WM_SYSCOMMAND消息,屏蔽SC_SIZE(if((nID & 0xFFF0) == SC_SIZE) return;)\\x0d\\x0a3、响应WM_NCHITTEST消息,如下:\\x0d\\x0aUINT CXxDlg::OnNcHitTest(CPoint point) \\x0d\\x0a\\x0d\\x0a UINT ht = CDialog::OnNcHitTest(point);\\x0d\\x0a if(ht >= HTLEFT && ht <= HTBOTTOMRIGHT)\\x0d\\x0a ht = HTBORDER;\\x0d\\x0a return ht;\\x0d\\x0a\\x0d\\x0a4、直接拿掉窗口的THICKFRAME风格即可:\\x0d\\x0aModifyStyle(m_hWnd,WS_THICKFRAME,0,0);

.net中如何动态改变Label控件的位置

我在Winform中有一个Label控件 我想要它随着窗体的Resize而动态调整在窗体中的位置 本来我打算在Form的Resize事件中 将Label.Location.X和Label.Location.Y的值 设成宽度和高度的一半 来使它居中 但是编译时报错说Location不能赋值 不是变量 那请问 我应该怎么做来达到我想要的要求呢

调整窗口大小,让控件的位置动态调整,不是靠Resize事件中手动设置控件的位置,
你以前是学vb的吗?vb调整窗口大小,需要手动在Resize事件中手动设置控件的位置,.net有更智能的操作,

选中控件,右键属性,找到【Anchor】属性,这个属性就是设置控件随窗体大小动态调整位置的属性,点开右边的下拉框,可以看到一个方块四周有四个块,默认选中的是上面和左边的块,这表明:调整窗体时,上边距和左边距始终保持不变。同样,可以设置左,右,上,下的块,使控件对应的边距随窗体大小改变而改变,

ps:设置控件的位置,是这样设置的:
Label.Location = new Point(20,20);
参考技术A   vb调整窗口大小,需要手动在Resize事件中手动设置控件的位置,.net有更智能的操作。
  选中控件,右键属性,找到【Anchor】属性,这个属性就是设置控件随窗体大小动态调整位置的属性,点开右边的下拉框,可以看到一个方块四周有四个块,默认选中的是上面和左边的块,这表明:调整窗体时,上边距和左边距始终保持不变。同样,可以设置左,右,上,下的块,使控件对应的边距随窗体大小改变而改变,
  ps:设置控件的位置,是这样设置的:Label.Location = new Point(20,20)。
参考技术B .net 解决不了这个问题,窗口的resize时间是客户端发生的。.net服务端根本无法获得客户端窗口重画的事件。你这个问题的解决只能靠js来解决。

window 对象好像有个onresizeend事件 ,在这里面定位到你的标签 然后用css控制他的位置试试吧

以上是关于如何设置“mfc窗体大小”不能改变?的主要内容,如果未能解决你的问题,请参考以下文章

c# WINFORM窗体如何设置才可以不能随意拖动大小

如何设置禁止改变“C# WINFORM”窗体大小?

unity设置IsOn属性不能改变Toggle组件的状态,改如何解决

wps表格设如何置字体颜色条件自动改变

不能改变图像的颜色

在用Matlab画图时,能不能改变原点的位置