VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 586|回复: 10

[求助] vc2013 单文档如何禁止改变窗口大小

[复制链接]
75_avatar_middle
online_vip xjianguo80 发表于 2017-7-4 17:01:36 | 显示全部楼层 |阅读模式
20驿站币
在vc2013 单文档,如何禁止最大化及禁止拖动主窗口改变大小(现状:现只要禁用最大化后,拖动主窗口可改变其大小)。
盼哪位大侠帮忙解决下。

最佳答案

查看完整内容

思路:拖动窗口首先要左键单击,那么就屏蔽标题栏上的左键单击: 处理非客户区的单击消息 WM_NCLBUTTONDOWN 加如下代码:




上一篇:VC可以编写模拟手机app操作的软件吗
下一篇:VC6.0 DrawText()问题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2017-7-4 17:01:37 | 显示全部楼层
xjianguo80 发表于 2017-7-5 09:02
哦。谢谢老大回复!
我现在就是想要最大化,并且拖不动窗体,也不能改变窗体大小,老大,有没有什么好的 ...

思路:拖动窗口首先要左键单击,那么就屏蔽标题栏上的左键单击:
处理非客户区的单击消息 WM_NCLBUTTONDOWN
加如下代码:
  1. void CMainFrame::OnNcLButtonDown(UINT nHitTest, CPoint point)
  2. {
  3.         if (HTCAPTION == nHitTest) return;

  4.         CFrameWnd::OnNcLButtonDown(nHitTest, point);
  5. }
复制代码

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2017-7-4 17:09:52 | 显示全部楼层
框架类:CMainFrame::PreCreateWindow
中加入如下代码:

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.style &= ~WS_MAXIMIZEBOX; //禁止窗口最大化
cs.style &= ~WS_MINIMIZEBOX; //禁止窗口最小化
cs.style &= ~WS_THICKFRAME;//使窗口不能用鼠标改变大小
cs.lpszClass = AfxRegisterWndClass(0);
return TRUE;

亲测可用!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

75_avatar_middle
ico_lz  楼主| xjianguo80 发表于 2017-7-4 17:18:09 | 显示全部楼层
Syc 发表于 2017-7-4 17:09
框架类:CMainFrame::PreCreateWindow
中加入如下代码:

老大,你有在窗口最大化情况试过吗?
我在窗口最大化情况试过不行。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2017-7-4 17:31:48 | 显示全部楼层
xjianguo80 发表于 2017-7-4 17:18
老大,你有在窗口最大化情况试过吗?
我在窗口最大化情况试过不行。

什么意思,这个代码是加在 CMainFrame::PreCreateWindow 中的,窗口显示之前就已经去掉最大化按钮了,还怎么最大化?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

75_avatar_middle
ico_lz  楼主| xjianguo80 发表于 2017-7-4 18:02:14 | 显示全部楼层
Syc 发表于 2017-7-4 17:31
什么意思,这个代码是加在 CMainFrame::PreCreateWindow 中的,窗口显示之前就已经去掉最大化按钮了,还 ...

在APP的InitInstance函数里加上就最大化了,如下:

        CCommandLineInfo cmdInfo;
        ParseCommandLine(cmdInfo);


        m_nCmdShow = SW_MAXIMIZE;  // 此处为显示最大化

        // 调度在命令行中指定的命令。  如果
        // 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
        if (!ProcessShellCommand(cmdInfo))
                return FALSE;

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2017-7-4 18:34:23 | 显示全部楼层
xjianguo80 发表于 2017-7-4 18:02
在APP的InitInstance函数里加上就最大化了,如下:

        CCommandLineInfo cmdInfo;

这个代码我加上了,测试没问题啊!
最大化按钮也被去掉了
窗口大小也不能拉伸

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

75_avatar_middle
ico_lz  楼主| xjianguo80 发表于 2017-7-4 22:43:06 | 显示全部楼层
Syc 发表于 2017-7-4 18:34
这个代码我加上了,测试没问题啊!
最大化按钮也被去掉了
窗口大小也不能拉伸

我这里窗口已最大化,而且最大化按钮也去掉了,窗口大小是不能拉伸,但我拖动主窗口,其大小就会变化,难道是我系统的问题(WIN10+VS2013)??这应该不太可能吧

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2017-7-4 23:36:13 | 显示全部楼层
xjianguo80 发表于 2017-7-4 22:43
我这里窗口已最大化,而且最大化按钮也去掉了,窗口大小是不能拉伸,但我拖动主窗口,其大小就会变化,难 ...

你拖动主窗口是因为之前是最大化,拖动之后根据系统特性,自动就变成了窗口化模式,所以就变小喽

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

75_avatar_middle
ico_lz  楼主| xjianguo80 发表于 2017-7-5 09:02:50 | 显示全部楼层
Syc 发表于 2017-7-4 23:36
你拖动主窗口是因为之前是最大化,拖动之后根据系统特性,自动就变成了窗口化模式,所以就变小喽

哦。谢谢老大回复!
我现在就是想要最大化,并且拖不动窗体,也不能改变窗体大小,老大,有没有什么好的方法呀?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

75_avatar_middle
ico_lz  楼主| xjianguo80 发表于 2017-7-5 11:49:01 | 显示全部楼层
Syc 发表于 2017-7-5 09:54
思路:拖动窗口首先要左键单击,那么就屏蔽标题栏上的左键单击:
处理非客户区的单击消息 WM_NCLBUTTOND ...

谢谢老大指点!!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-11-16 12:19

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表