让主窗口的大小不能被改变,该怎么做?(就是说最大化也只能是初开大小)

cjn2009 2006-02-18 08:28:39
让主窗口的大小不能被改变,就是不能通过拖动改变窗口大小,最大化也无效
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjn2009 2006-02-18
  • 打赏
  • 举报
回复
我是想去掉主窗口的最大化按钮,不是对话框的
Snow_Ice11111 2006-02-18
  • 打赏
  • 举报
回复
屏蔽掉最大化哪个按钮?
-----------------------------------------
对话框窗口属性的设置中Styles标签下去掉Maximize复选框即可。
Snow_Ice11111 2006-02-18
  • 打赏
  • 举报
回复
限制用户调整窗口的最大、最小尺寸,在窗口的WM_GETMINMAXINFO消息响应函数中处理,如:
---------------------------------------------------------------------------
void CQQDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
// TODO: Add your message handler code here and/or call default
lpMMI->ptMinTrackSize.x=200; //限制最小宽度,单位为像素,下同
lpMMI->ptMinTrackSize.y=400; //限制最小高度
lpMMI->ptMaxTrackSize.x=250; //限制最大宽度
lpMMI->ptMaxTrackSize.y=500; //限制最大高度
CDialog::OnGetMinMaxInfo(lpMMI);
}
---------------------------------------------------------------------------
cjn2009 2006-02-18
  • 打赏
  • 举报
回复
WM_NCHITTEST的响应函数在哪个文件中编写?
用classwizard中没有找到WM_NCHITTEST这个消息。。。。

根据你的建议我在WM_GETMAXMININFO的处理函数中做了限制,但感觉不是很好,点最大化和还原时有个明显的放大缩小的影像,能不能屏蔽掉最大化哪个按钮?
谢谢
countryboy 2006-02-18
  • 打赏
  • 举报
回复
一般说见到的方法,,都是截获WM_GETMAXMININFO消息。

  俺有另一经验可实现之。

  由于一般窗口大小的改变,都是用户拖动窗口边框而造成的。所以,我们可以截获主窗口消息WM_NCHITTEST在其响应函数中判断CWnd::OnNcHitTest()的返回值是否为HTRIGHT,HTLEFT,HTTOP,HTBOTTOM四个值之一,如果是,说明用户此时已点击了四个边框之一,此时我们应该返回HTCLIENT.那么,鼠标的形状就不会变成水平或垂直的双向箭头,用户就不可能依靠拖动边框来改变窗口大小了。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧