MFC禁止窗口最大化按钮和禁止改变窗口大小

摘要:
你要修改窗口大小,可以直接在App类的InitInstance中ShowWindow();UpdateWindow()之前修改窗口大小,例如m_pMainWnd-˃MoveWindow;2.2MFC的应用程序向导在VC6.0中和VS2010中有很多区别。默认情况下建立MFC应用程序,就会出现在PreCreateWindow()中修改cx、cy窗口大小不变的情况,在VS2010的MFC的应用程序向导的第二步选择MFC标准,第6步选择使用经典菜单。其效果即和VC6.0产生的效果一样。

1. 修改PreCreateWindow()函数如下:

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

{

if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE;

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;

cs.style &= ~WS_MAXIMIZEBOX; //禁止窗口最大化

cs.style &= ~WS_MINIMIZEBOX; //禁止窗口最小化

// cs.style &= ~WS_SYSMENU; //取消Title上的按钮

cs.style &= ~WS_THICKFRAME;//使窗口不能用鼠标改变大小

cs.lpszClass = AfxRegisterWndClass(0);

return TRUE;

}

2.VC2010 MFC 改变窗口默认大小

2.1.因为VS2010会将一些信息写入注册表,这个和之前VS2005,VS2008(SP1除外)不太一样,默认的SDI和MDI是带的BCG的一些东西。
你要修改窗口大小,可以直接在App类的InitInstance中ShowWindow();UpdateWindow()之前修改窗口大小,例如 m_pMainWnd->MoveWindow(CRect(100, 100, 600, 400), FALSE);

2.2 MFC的应用程序向导在VC6.0中和VS2010中有很多区别。VS2010的中的MFC的应用程序向导增加了不少新的选项。默认情况下建立MFC应用程序,就会出现在PreCreateWindow()中修改cx、cy窗口大小不变的情况,在VS2010的MFC的应用程序向导的第二步选择MFC标准,第6步选择使用经典菜单。其效果即和VC6.0产生的效果一样。

综上:

在App类得InitInstance中写入下面的代码:

m_pMainWnd ->MoveWindow(100, 50, 1100, 550, FALSE);

即可完成对默认窗口大小的修改

免责声明:文章转载自《MFC禁止窗口最大化按钮和禁止改变窗口大小》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux系统下安装zookeeper教程python的OpenCV库的安装详细讲解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MFC常用操作总结

// 获取文件基本属性 #if 0 CFile成员: BOOL GetStatus(CFileStatus& rStatus) const; static BOOL PASCAL GetStatus(LPCTSTR lpszFileName,CFileStatus& rStatus,CAtlTransactionMa...

MFC/VC++ UI界面美化技术

1. 工具: 1.1设备环境类: Windows下的绘图操作说到底就是DC操作。DC(Device Context设备环境)对象是一个抽象的作图环境,可能是对应屏幕,也可能是对应打印机或其它。这个环境是设备无关的,所以你在对不同的设备输出时只需 要使用不同的设备环境就行了,而作图方式可以完全不变。这也就是Windows的设备无关性。 MFC的CDC类封装了...

自定义MFC对话窗口的类名

默认情况下,MFC对话框的窗口类名为“#32770”,如果想自定义窗口类名呢,需要两步: 1.修改rc文件 这一步需要直接编辑rc文件,使用任意记事本工具即可,找到窗口的相关定义,原来是这样子的: IDD_TESTMYWNDCLASS_DIALOG DIALOGEX 0, 0, 320, 200 STYLE DS_MODALFRAME | WS_POPUP...

VS2015配置OpenCV,使用mfc摄像头程序测试

转自:https://blog.csdn.net/Lee_Dk/article/details/80466523 这只是介绍了如何加入OpenCV,怎么查找OpenCV请看出处。  新建一个项目。找到属性管理器,debug-win32。后4个是原本就有的。Micross.Cpp.Win32.user是vs的默认属性表,如果在这个表中配置了,以后的项目都不用...

使用RichEdit程序无法启动

在MFC或者WTL工程里,如果使用了RichEdit控件,会发现程序无法启动,编译器却没给出任何警告或错误。 在网上找了下资料,原来是没有加载支持RichEdit的动态库。 在MFC下面添加: AfxInitRichEdit(); 在WTL下面添加: HMODULE hRichDll = LoadLibrary(_T("riched20.dll"));...

MFC用PostMessage传递消息

1.自定义消息ID。 #define WM_MY_MESSAGE (WM_USER+100)         WM_USER为windows系统为非系统消息保留的ID,这里至少要用100,因为其它控件的消息会占用一部分。 2. 定义消息处理函数。 消息处理函数为消息目标类的成员函数。首先应该在.h 文件中声明。这里以主窗口类为例,主窗口类名 C...