📄 untitled-17.txt
字号:
Hello的窗口类CMainwindow是从MFC的CFramewnd类派生的,而后者又是从CWnd派生
的。CFramewnd模仿框架窗口的行为。现在,可以把框架窗口作为顶层窗口看待,它是应用
程序与外部世界的主要接口。在文档/视图体系结构大环境中,框架窗口作为视图、工具栏。
状态栏以及其他用户界面(UI)对象的智能化容器起了更大的作用。
通过生成窗口对象并调用其Creat或CreateEx函数,MFC应用程序可以创建一个窗口。
在 CMyApp:: Initlnstance中, Hello创建了一个 CMainwindow对象。 CMainwindow的构造函数
生成在屏幕上看到的窗口:
Create(miLL,T(”The HellO AppllCat。On”》;
_T是一个宏,用来把字符串常量字符设置为中性。在本章稍后将讨论此内容。Create是
从CFramewnd继承来的一个CMalnwindow成员函数。在CF。mwhd中,由它自己定义的和从
CWnd继承来的函数大约有 20个, Create是其中之一。 CFramewnd:: Create的原型如下:
BOOL Create(LPCTSTR lpszClassName,
LPCTSTR lpszwindoWName,
DWORD dwstyle= WS.OVERLAPPEDWINDOW,
COflst RECT& IICt= CCCtDCfCClt,
Cwnd兴 pParentwnd= NULL,
LPCTSTR lpszMenuName= NULL,
DWORD dwEXSty1X= 0,
CCreateContext。 pContext= NULL)
Create接收的8个参数中的6个由默认值定义。Hello只需执行最少量的工作,为函数
的前2个参数指定值,对剩下6个参数接受默认值。第回个参数IPszClassName指定了窗口
基于WNDCLASS类的名称。为此,将其设定为NULL将创建一个基于由主结构注册的WND-
CLASS类的默认框架窗口。…zwindowName参数指定将在窗口的标题栏出现的文本。
dwstyle参数指定窗口样式。默认值为WS—OVERLAPPEDWINDOW。调用Create函数可
以通过指定别的样式或选择组合样式来更改窗口样式。在 CFramewnd:: Create文档中可以
找到一个完整的窗口样式列表。在框架窗口中时常使用的两个样式是WS—HSCROLL和
WS—VSCROLL,它们在窗口客户区的底边和右边添加水平、垂直滚动条。语句
Create(NULL,_T(”HellO”),WS.oVERLAPPEDWINDoWIWS.VSCROLL);
创建一个包含垂直滚动条的重叠型窗口。正如这个例子说明的那样,可以使用 C+十的“ l”
运算符来组合多个样式。WS.OVERLAPPEDWINDOW组合了WS_OVERL.APPED、WS.CAP
TION、WS.SYSMENU、WS.MINIMIZEBOX、WS.MAXIMIZEBOX以及WS.THICKFRAME样式。
因此,如果您想创建一个看上去与WS.OVERLAPPEDWINDOW窗口相似但在标题栏缺少最
大化按钮的窗口,您可以这样调用Create函数:
Create(NULL,_T(”Hello”), WS.OVERLAPPEDWS.CAPTIONI
WS.SYSMENUIWS.MINIMIZEBOXIWS.THICKFRANE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -