BOOL Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd, UINT nID,
CCreateContext* pContext = NULL)
//解释函数
BOOL Create(LPCTSTR lpszClassName,   你的窗口类名,写你注册窗口类的时候的类名
LPCTSTR lpszWindowName,       你的窗口名字,随便写
DWORD dwStyle,            窗口风格,详细定义在window.h中
const RECT& rect,      窗口长宽 是个RECT结构
CWnd* pParentWnd,     父窗口句柄,没有就NULL 
UINT nID,        窗口id,记0
CCreateContext* pContext = NULL 保留
)

第一个参数lpszClassName是一个窗体类名字符串的指针(一个WNDCLASS②结构体)。
此类名可以是任意的由全局函数AfxRegisterWndClass注册过的预定义控件类名。
如果为空,则使用CWnd类的默认属性。
第二个参数lpszWindowName是作为窗体标题的字符串指针。
第三个参数dwStyle是宏定义的窗体类型,具体定义如下:

WS_BORDER 创建一个有边框的窗体。

WS_CAPTION 创建一个有标题栏的窗体(隐含了WS_BORDER). 不能和WS_DLGFRAME
   一起使用.

WS_CHILD 创建一个子窗体。不能和WS_POPUP一起使用。

WS_CLIPCHILDREN 不包括在父窗体中被子窗体占用的区域。用于创建父窗体。

WS_CLIPSIBLINGS 使子窗体彼此别住;就是当一个指定的子窗体接收到一个
   paint消息时,WS_CLIPSIBLINGS类型将别住所有重叠的子窗
   体超过区域的部分一起更新,(如果没有使用WS_CLIPSIBLINGS
   并且子窗体重叠,当你在一个子窗体的客户区绘图时,可能
   会绘图到邻近的子窗体的客户区。)只与WS_CHILD一起使用。

WS_DISABLED 创建一个初始不可用的窗体。

WS_DLGFRAME 创建一个有双边但无标题的窗体。

WS_GROUP 指定一个用户可以用方向键从一个控件移到另一个控件的控
   件组的第一个控件。All controls defined with the WS_GROUP
   style FALSE after the first control belong to the same
   group. The next control with the WS_GROUP style starts
   the next group (that is, one group ends where the next
   begins).

WS_HSCROLL 创建一个带水平滚动条的窗体。

WS_MAXIMIZE 创建一个最大尺寸的窗体。

WS_MAXIMIZEBOX 创建一个有最大化按扭的窗体。

WS_MINIMIZE 创建一个初始最小化的窗体。只与WS_OVERLAPPED一起使用。

WS_MINIMIZEBOX 创建一个有最小化按扭的窗体。

WS_OVERLAPPED 创建一个重叠窗体。一个重叠窗体一般有标题和边框。

WS_OVERLAPPEDWINDOW 创建一个和WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU,
   WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX一
   使用的重叠窗体。

WS_POPUP 创建一个弹出式窗体。不能和WS_CHILD一起使用。

WS_POPUPWINDOW 创建一个和WS_BORDER, WS_POPUP, and WS_SYSMENU一起使
   用的弹出式窗体。WS_CAPTION必须和WS_POPUPWINDOW组合使
   用才能让控件菜单可见。

WS_SYSMENU 创建一个在标题栏有控件菜单框的窗体。只能和有标题栏的
   窗体一起使用。

WS_TABSTOP 指定任意数量控件中的一个可以由用户使用TAB键移动到的
   控件。TAB键使用户移动到由WS_TABSTOP指定的下一个控件。

WS_THICKFRAME 创建一个有厚边框的Window,使其可以改变大小。

WS_VISIBLE 创建一个初始可见的窗体。

WS_VSCROLL 创建一个有垂直滚动条的窗体。

由于上表中常量可以进行组合,用按位或运算,所以常量名的值被定义为类似于
0x00C00000L的32位16进制数型式。例如进行WS_SYSMENU|WS_MINIMIZEBOX运算时即
0x00080000L|0x00020000L。数字前面的0x是16位数的标识符,L表示32位,上式的演
算式可表示如下:

=
00000000000010000000000000000000
    (|) 00000000000000100000000000000000
------------------------------------------
        00000000000010100000000000000000 = 0X000A0000L = 655360;

当你用十进制数655360替代WS_SYSMENU|WS_MINIMIZEBOX作为实参时,你会看到相
同的结果。

第四个参数rect是一个RECT结构体的对象,用于指定窗体的尺寸和位置。RECT结
构体的定义如下:

typedef struct tagRECT
{
    LONG    left;
    LONG    top;
    LONG    right;
    LONG    bottom;
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;

我们可以利用从tagRECT结构体派生出的CRect类的构造函数来初始化一个RECT结构
体。CRect的一个重载构造函数定义如下:

// from left, top, right, and bottom
CRect(int l, int t, int r, int b);

第五个参数pParentWnd用于指定父窗体,这是一个指向CWnd类对象的指针。
第六个参数nID用于指定作为子窗体的窗体ID。
最后一个参数是关于创建内容的指针,已被默认为NULL,不用理会。

Create的更多相关文章

  1. 记一次tomcat线程创建异常调优:unable to create new native thread

    测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is ...

  2. Could not create SSL connection through proxy serve-svn

    RA layer request failedsvn: Unable to connect to a repository at URL xxxxxx 最后:Could not create SSL ...

  3. android 使用Tabhost 发生could not create tab content because could not find view with id 错误

    使用Tabhost的时候经常报:could not create tab content because could not find view with id 错误. 总结一下发生错误的原因,一般的 ...

  4. Create a Team in RHEL7

    SOLUTION VERIFIED September 13 2016 KB2620131 Environment Red Hat Enterprise Linux 7 NetworkManager ...

  5. Create a bridge using a tagged vlan (8021.q) interface

    SOLUTION VERIFIED April 27 2013 KB26727 Environment Red Hat Enterprise Linux 5 Red Hat Enterprise Li ...

  6. [转]nopCommerce Widgets and How to Create One

    本文转自:https://dzone.com/articles/what-are-nopcommerce-widgets-and-how-to-create-one A widget is a sta ...

  7. Git异常:fatal: could not create work tree dir 'XXX': No such file or directory

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  8. SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二: ...

  9. SharePoint 2013 create workflow by SharePoint Designer 2013

    这篇文章主要基于上一篇http://www.cnblogs.com/qindy/p/6242714.html的基础上,create a sample workflow by SharePoint De ...

  10. Create an offline installation of Visual Studio 2017 RC

    Create an offline installation of Visual Studio 2017 RC ‎2016‎年‎12‎月‎7‎日                             ...

随机推荐

  1. FLEX中restrict限定TextInput输入

    restrict限制的意思 1. 限制某个字符的输入,用符号 ^ 跟上要限制的字符,可跟多个字符  <!-- 限制字符"~"的输入 --> <mx:TextInp ...

  2. hdu1875kruskal简单应用。

    标记是dificulty 2,水,开始kruskal时练手题,只需开始时数据处理下,不符合要求的边不要,要理解并查集和Kruskal,就简单了,判断下是否联通图,(只需在记加入有效边时候统计连通分支数 ...

  3. appleid

    https://appleid.apple.com/#!&page=signin

  4. 前端3D、动画相关开源JS

    WebGL http://taobaofed.org/blog/2015/12/21/webgl-handbook/ D3 (或者叫 D3.js )是一个基于 web 标准的 JavaScript 可 ...

  5. java的反射机制和javassist、asm

    1.java的反射机制,可以帮助我们在运行的时候获取我们引用的java类相关的信息,包括类的名字.所包含的方法名字.方法参数等等 2.javassit这个jar包,大概看了下,更厉害,它可以直接操作字 ...

  6. Node.js - 断言

    什么是断言? 程序中的断言是什么意思,让我们带着疑问一步步探索 断言即我们相信程序某个特定点布尔表达式为真 举个例子就是: 我相信你是对的,然后让别人判断一下你是对的或错的,最后我得到结果. 好了,进 ...

  7. Highcharts:X轴分组堆叠图

    在设计一个项目中的数据展示页面时.想要设计双X轴,一个轴显示须要的项.一个轴对这些项进行分组.效果如图: Highcharts自带双X轴展示方式.可是效果不是太理想.调整起来也会麻烦些 看到Highc ...

  8. OSChinaclient源代码学习(2)--缓存的设计

    一.缓存的作用 请求数据的时候,首先进行推断,能否够从缓存中获取数据,假设满足条件,则直接从缓存中获取数据.否则请求新的数据.这样比没有缓存的情况下.每次都要从server请求数据要快,并且.没有网的 ...

  9. hdu1873 看病要排队(结构体优先队列)

    看病要排队 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  10. STM32 USB复合设备编写

    目的 完成一个CDC + MSC的复合USB设备 可以方便在CDC,MSC,复合设备三者间切换 可移植性强 预备知识 cube中USB只有两个入口. main函数中的MX_USB_DEVICE_Ini ...