创建表单

按功能CreateWindow()要么CreateWindowEx()要创建表单(或任何其他类别似在一个对象的形式,作为对照)。当你创建一个表单类,你必须提供的格式文本的名称。该应用程序想系统的类名之前,这种形式的类名。它是用来表示一个窗体类。

以下是一CreateWindowEx()该函数原型:

CreateWindowEx(
DWORD 	dwExStyle,//窗体的扩展风格,是一种高级功能,一般都为NULL
LPCTSTR	lpClassName,//指向注冊类名的字符串指针
LPCTSTR	lpWindowName,//指向窗体名称的字符串指针
DWORD	dwStyle,//常规窗体风格
int	x,//窗体左上角的的水平位置,单位都为像素
int	y,//窗体左上角的的垂直位置
int	nWidth,//窗体的宽度
int	nHeight,//窗体的高度
HWND	hWndParent,//父窗体的句柄
HMENU	hMenu,//菜单的句柄或是子窗体的标识符
HINSTANCE	hInstance,//应用程序实例的句柄
LPVOIDl	pParam//指向窗体的创建数据,高级參数,一般为NULL
);



窗体的风格又有下面这些种类:
WS_BORDER:创建一个带边框的窗体。
WS_CAPTION:创建一个有标题框的窗体(包含WS_BORDER风格)。


WS_CHILD:创建一个子窗体。这个风格不能与WS_POPUP风格合用。
WS_CHILDWINDOW:与WS_CHILD同样。
WS_CLIPCHILDREN:当在父窗体内画图时。排除子窗体区域。在创建父窗体时使用这个风格。
WS_CLIPSIBLINGS:排除子窗体之间的相对区域,也就是,当一个特定的窗体接收到WM_PAINT消息时,WS_CLIPSIBLINGS 风格将全部层叠窗体排除在画图之外。仅仅重绘指定的子窗体。假设未指定WS_CLIPSIBLINGS风格,而且子窗体是层叠的,则在重绘子窗体的客户区时,就会重绘邻近的子窗体。
WS_DISABLED:创建一个初始状态为禁止的子窗体。

一个禁止状态的窗体不能接受来自用户的输入信息。


WS_DLGFRAME:创建一个带对话框边框风格的窗体。这样的风格的窗体不能带标题条。
WS_GROUP:指定一组控制的第一个控制。

这个控制组由第一个控制和随后定义的控制组成,自第二个控制開始每一个控制,具有WS_GROUP风格,每一个组的第一个控制带有WS_TABSTOP风格。从而使用户能够在组间移动。用户随后能够使用光标在组内的控制间改变键盘焦点。
WS_HSCROLL:创建一个有水平滚动栏的窗体。
WS_ICONIC:创建一个初始状态为最小化状态的窗体。

与WS_MINIMIZE风格同样。
WS_MAXIMIZE:创建一个初始状态为最大化状态的窗体。


WS_MAXIMIZEBOX:创建一个具有最大化button的窗体。该风格不能与WS_EX_CONTEXTHELP风格同一时候出现,同一时候必须指定WS_SYSMENU风格。
WS_OVERLAPPED:产生一个层叠的窗体。一个层叠的窗体有一个标题条和一个边框。与WS_TILED风格同样。
WS_OVERLAPPEDWINDOW:创建一个具有WS_OVERLAPPED。WS_CAPTION,WS_SYSMENU WS_THICKFRAME。WS_MINIMIZEBOX。WS_MAXIMIZEBOX风格的层叠窗体,与WS_TILEDWINDOW风格同样。


WS_POPUP:创建一个弹出式窗体。

该风格不能与WS_CHILD风格同一时候使用。


WS_POPUPWINDOW:创建一个具有WS_BORDER,WS_POPUP,WS_SYSMENU风格的窗体。WS_CAPTION和WS_POPUPWINDOW必须同一时候设定才干使窗体某单可见。
WS_SIZEBOX:创建一个可调边框的窗体,与WS_THICKFRAME风格同样。


WS_SYSMENU:创建一个在标题条上带有窗体菜单的窗体,必须同一时候设定WS_CAPTION风格。
WS_TABSTOP:创建一个控制,这个控制在用户按下Tab键时能够获得键盘焦点。按下Tab键后使键盘焦点转移到下一具有WS_TABSTOP风格的控制。


WS_THICKFRAME:创建一个具有可调边框的窗体。与WS_SIZEBOX风格同样。
WS_TILED:产生一个层叠的窗体。一个层叠的窗体有一个标题和一个边框。

与WS_OVERLAPPED风格同样。


WS_TILEDWINDOW:创建一个具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU, WS_THICKFRAME,WS_MINIMIZEBOX。WS_MAXIMIZEBOX风格的层叠窗体。

与WS_OVERLAPPEDWINDOW风格同样。


WS_VISIBLE:创建一个初始状态为可见的窗体。


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


窗体创建后,其状态为可见或不可见。能够用ShowWindow(hwnd,ncmdshow)来手动显示窗体。
强制Windows更新窗体内容并生成WM_PAINT消息通过调用函数UpdateWindow()去完成。

版权声明:本文博主原创文章。博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/hrhguanli/p/4797522.html