创建表单
以下是一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()去完成。
版权声明:本文博主原创文章。博客,未经同意不得转载。