MFC单文档视图中修改窗体标题、窗体样式

有人说聪明的程序员用Delphi,我承认我并不聪明,虽然Delphi确实很好用,但实在是受不了Delphi的那个编译器,在编辑器中鼠标光标到处乱跑,除非需要的程序是急用,否则我的第一选择不是Delphi。有人也说真正的程序员用VC,当然,我也不得不承认自己压根儿就不是一个程序员,只是一个喜欢编程又上不了档次的准菜鸟,不过我偶尔也会拿起VC玩玩。

在Delphi中要画一个界面,只需要鼠标一拖一拉就搞定了,而VC呢?让我们来画一个简单的界面吧!界面很简单,一个按钮,一个支持多行显示的文本框。

首先创建一个单文档视图的MFC程序,在视图向导的最后一步中选择CFormView视图,这样便于拖拉控件。对于MFC的单文档和多文档视图暂不去了解,反正太复杂,何必自己找罪受。执行完视图向导后,按F5键,一个MFC的程序就出来了(如图1)。

图1

通常我们需要的界面不是这样的,菜单我不一定要;窗体标题中的“Untitled”我是不需要的;窗体正文区域大多程序都不是凹进去的。因此,新建好一个MFC程序后首先要修改的就是这几个部分。

1. 修改窗体标题、禁止调整窗体大小、不显示窗体菜单

2. 增加窗体的WS_EX_CLIENTEDGE扩展样式

如果对MFC的结构没一点儿了解,那么这个操作会让你很头痛。一个单文档视图大概分为框架类、视图类、文档类,其中框架类和视图类中都会更新界面设置。但奇怪的是不管我在框架类的PreCreateWindow或视图类的PreCreateWindow中添加cs.dwExStyle &= ~WS_EX_CLIENTEDGE;都不起作用,只有在框架类和视图类的PreCreateWindow中都添加这句代码才有效。为了弄清这个问题,去看了一下MFC中的winfrm.cpp,结果代码跳来跳去的,人越来越晕。其实要想真正弄清,就只有好好的读MFC源码了。

最后我对这个问题的理解为:在框架和视图的创建过程中……

未完,先研究一下MFC源码

posted @ 2011-04-02 02:22  冷寒生  阅读(6185)  评论(0编辑  收藏  举报
IT知识库