2.CreateWindowEx

来源:互联网 发布:p2p网络借贷平台 论文 编辑:程序博客网 时间:2024/05/02 00:59

原文:

The CreateWindowEx function creates an overlapped, pop-up, or child window with an extended style; otherwise, this function is identical to the CreateWindow function. For more information about creating a window and for full descriptions of the other parameters of CreateWindowEx, see CreateWindow.
HWND CreateWindowEx(
  DWORD dwExStyle,      // extended window style
  LPCTSTR lpClassName// pointer to registered class name
  LPCTSTR lpWindowName, // pointer to window name
  DWORD dwStyle,        // window style
  int x,                // horizontal position of window
  int y,                // vertical position of window
  int nWidth,           // window width
  int nHeight,          // window height
  HWND hWndParent,      // handle to parent or owner window
  HMENU hMenu,          // handle to menu, or child-window identifier
  HINSTANCE hInstance// handle to application instance
  LPVOID lpParam        // pointer to window-creation data
);
 
Parameters
dwExStyle
Specifies the extended style of the window. This parameter can be one of the following values:
Style
Meaning
WS_EX_ACCEPTFILES
Specifies that a window created with this style accepts drag-drop files.
WS_EX_APPWINDOW
Forces a top-level window onto the taskbar when the window is visible.
WS_EX_CLIENTEDGE
Specifies that a window has a border with a sunken edge.
WS_EX_CONTEXTHELP
Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window,the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window.
WS_EX_CONTEXTHELP cannot be used with the WS_MAXIMIZEBOX or WS_MINIMIZEBOX styles.
WS_EX_CONTROLPARENT
Allows the user to navigate among the child windows of the window by using the tab key.
WS_EX_DLGMODALFRAME
Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter.
WS_EX_LEFT
Window has generic "left-aligned" properties. This is the default.
WS_EX_LEFTSCROLLBAR
If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored and not treated as an error.
WS_EX_LTRREADING
The window text is displayed using Left to Right reading-order properties. This is the default.
WS_EX_MDICHILD
Creates an MDI child window.
WS_EX_NOPARENTNOTIFY
 
Specifies that a child window created with this style does not send the WM_PARENTNOTIFY message to its parent window when it is created or destroyed.
WS_EX_OVERLAPPEDWINDOW
Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles.
WS_EX_PALETTEWINDOW
Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles.
WS_EX_RIGHT
The window has generic "right-aligned" properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading order alignment; otherwise, the style is ignored and not treated as an error.
WS_EX_RIGHTSCROLLBAR
Vertical scroll bar (if present) is to the right of the client area. This is the default.
WS_EX_RTLREADING
If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the window text is displayed using Right to Left reading-order properties. For other languages, the style is ignored and not treated as an error.
WS_EX_STATICEDGE
Creates a window with a three-dimensional border style intended to be used for items that do not accept user input.
WS_EX_TOOLWINDOW
Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog that appears when the user presses alt+tab. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or by typing alt+space.
WS_EX_TOPMOST
Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function.
WS_EX_TRANSPARENT
Specifies that a window created with this style should not be painted until siblings beneath the window (that were created by the same thread) have been painted. The window appears transparent because the bits of underlying sibling windows have already been painted.
To achieve transparency without these restrictions, use the SetWindowRgn function.
WS_EX_WINDOWEDGE
Specifies that a window has a border with a raised edge.
 
Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles.
lpClassName
Pointer to a null-terminated string or is an integer atom. If lpClassName is an atom, it must be a global atom created by a previous call to GlobalAddAtom. The atom, a 16-bit value less than 0xC000, must be in the low-order word of lpClassName; the high-order word must be zero.
If lpClassName is a string, it specifies the window class name. The class name can be any name registered with the RegisterClassEx function or any of the predefined control-class names.
lpWindowName
Pointer to a null-terminated string that specifies the window name.
If the window style specifies a title bar, the window title pointed to by lpWindowName is displayed in the title bar. When using CreateWindow to create controls, such as buttons, check boxes, and static controls, use lpWindowName to specify the text of the control.
dwStyle
Specifies the style of the window being created. This parameter can be a combination of the following window styles, plus the control styles indicated in the Remarks section.
Style
Meaning
WS_BORDER
Creates a window that has a thin-line border.
WS_CAPTION
Creates a window that has a title bar (includes the WS_BORDER style).
WS_CHILD
Creates a child window. This style cannot be used with the WS_POPUP style.
WS_CHILDWINDOW
Same as the WS_CHILD style.
WS_CLIPCHILDREN
Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.
WS_CLIPSIBLINGS
Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window.
WS_DISABLED
Creates a window that is initially disabled. A disabled window cannot receive input from the user.
WS_DLGFRAME
Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar.
WS_GROUP
Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys.
WS_HSCROLL
Creates a window that has a horizontal scroll bar.
WS_ICONIC
Creates a window that is initially minimized. Same as the WS_MINIMIZE style.
WS_MAXIMIZE
Creates a window that is initially maximized.
WS_MAXIMIZEBOX
Creates a window that has a Maximize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
WS_MINIMIZE
Creates a window that is initially minimized. Same as the WS_ICONIC style.
WS_MINIMIZEBOX
Creates a window that has a Minimize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
WS_OVERLAPPED
Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style.
WS_OVERLAPPEDWINDOW
Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_TILEDWINDOW style.
WS_POPUP
Creates a pop-up window. This style cannot be used with the WS_CHILD style.
WS_POPUPWINDOW
Creates a pop-up window with WS_BORDER, WS_POPUP, and WS_SYSMENU styles. The WS_CAPTION and WS_POPUPWINDOW styles must be combined to make the window menu visible.
WS_SIZEBOX
Creates a window that has a sizing border. Same as the WS_THICKFRAME style.
WS_SYSMENU
Creates a window that has a window menu on its title bar. The WS_CAPTION style must also be specified.
WS_TABSTOP
Specifies a control that can receive the keyboard focus when the user presses the tab key. Pressing the tab key changes the keyboard focus to the next control with the WS_TABSTOP style.
WS_THICKFRAME
Creates a window that has a sizing border. Same as the WS_SIZEBOX style.
WS_TILED
Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_OVERLAPPED style.
WS_TILEDWINDOW
Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_OVERLAPPEDWINDOW style.
WS_VISIBLE
Creates a window that is initially visible.
WS_VSCROLL
Creates a window that has a vertical scroll bar.
 
x
Specifies the initial horizontal position of the window. For an overlapped or pop-up window, the x parameter is the initial x-coordinate of the window's upper-left corner, in screen coordinates. For a child window, x is the x-coordinate of the upper-left corner of the window relative to the upper-left corner of the parent window's client area.
If x is set to CW_USEDEFAULT, the system selects the default position for the window's upper-left corner and ignores the y parameter. CW_USEDEFAULT is valid only for overlapped windows; if it is specified for a pop-up or child window, the x and y parameters are set to zero.
y
Specifies the initial vertical position of the window. For an overlapped or pop-up window, the y parameter is the initial y-coordinate of the window's upper-left corner, in screen coordinates. For a child window, y is the initial y-coordinate of the upper-left corner of the child window relative to the upper-left corner of the parent window's client area. For a list box, y is the initial y-coordinate of the upper-left corner of the list box's client area relative to the upper-left corner of the parent window's client area.
If an overlapped window is created with the WS_VISIBLE style bit set and the x parameter is set to CW_USEDEFAULT, the system ignores the y parameter.
nWidth
Specifies the width, in device units, of the window. For overlapped windows, nWidth is the window's width, in screen coordinates, or CW_USEDEFAULT. If nWidth is CW_USEDEFAULT, the system selects a default width and height for the window; the default width extends from the initial x-coordinates to the right edge of the screen; the default height extends from the initial y-coordinate to the top of the icon area. CW_USEDEFAULT is valid only for overlapped windows; if CW_USEDEFAULT is specified for a pop-up or child window, the nWidth and nHeight parameter are set to zero.
nHeight
Specifies the height, in device units, of the window. For overlapped windows, nHeight is the window's height, in screen coordinates. If the nWidth parameter is set to CW_USEDEFAULT, the system ignores nHeight.
hWndParent
Handle to the parent or owner window of the window being created. To create a child window or an owned window, supply a valid window handle. This parameter is optional for pop-up windows.
Windows NT 5.0 and later: To create a message-only window, supply HWND_MESSAGE or a handle to an existing message-only window.
hMenu
Handle to a menu, or specifies a child-window identifier, depending on the window style. For an overlapped or pop-up window, hMenu identifies the menu to be used with the window; it can be NULL if the class menu is to be used. For a child window, hMenu specifies the child-window identifier, an integer value used by a dialog box control to notify its parent about events. The application determines the child-window identifier; it must be unique for all child windows with the same parent window.
hInstance
Handle to the instance of the module to be associated with the window.
lpParam
A pointer to a value to be passed to the window through the CREATESTRUCT structure passed in the lParam parameter the WM_CREATE message. If an application calls CreateWindow to create a multiple document interface (MDI) client window, lpParam must point to a CLIENTCREATESTRUCT structure.
Return Values
If the function succeeds, the return value is a handle to the new window.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
Remarks
The CreateWindowEx function sends WM_NCCREATE, WM_NCCALCSIZE, and WM_CREATE messages to the window being created.
For information on controlling whether the Taskbar displays a button for the created window, see Visibility of Taskbar Buttons.
The following predefined control classes can be specified in the lpClassName parameter. Note the corresponding control styles you can use in the dwStyle parameter.
Class
Meaning
BUTTON
Designates a small rectangular child window that represents a button the user can click to turn it on or off. Button controls can be used alone or in groups, and they can either be labeled or appear without text. Button controls typically change appearance when the user clicks them. For more information, see Buttons.
 
For a table of the button styles you can specify in the dwStyle parameter, see Button Styles.
COMBOBOX
Designates a control consisting of a list box and a selection field similar to an edit control. When using this style, an application should either display the list box at all times or enable a drop-down list box. If the list box is visible, typing characters into the selection field highlights the first list box entry that matches the characters typed. Conversely, selecting an item in the list box displays the selected text in the selection field. For more information, see Combo Boxes.
 
For a table of the combo box styles you can specify in the dwStyle parameter, see Combo Box Styles.
EDIT
Designates a rectangular child window into which the user can type text from the keyboard. The user selects the control and gives it the keyboard focus by clicking it or moving to it by pressing the tab key. The user can type text when the edit control displays a flashing caret; use the mouse to move the cursor, select characters to be replaced, or position the cursor for inserting characters; or use the backspace key to delete characters. For more information, see Edit Controls.
 
For a table of the edit control styles you can specify in the dwStyle parameter, see Edit Control Styles.
LISTBOX
Designates a list of character strings. Specify this control whenever an application must present a list of names, such as filenames, from which the user can choose. The user can select a string by clicking it. A selected string is highlighted, and a notification message is passed to the parent window. For more information, see List Boxes.
 
For a table of the list box styles you can specify in the dwStyle parameter, see List Box Styles.
MDICLIENT
Designates an MDI client window. This window receives messages that control the MDI application's child windows. The recommended style bits are WS_CLIPCHILDREN and WS_CHILD. Specify the WS_HSCROLL and WS_VSCROLL styles to create an MDI client window that allows the user to scroll MDI child windows into view. For more information, see Multiple Document Interface.
RichEdit
Designates a Rich Edit version 1.0 control. This window lets the user view and edit text with character and paragraph formatting, and can include embedded COM objects. For more information, see Rich Edit Controls.
 
For a table of the rich edit control styles you can specify in the dwStyle parameter, see Rich Edit Control Styles.
RICHEDIT_CLASS
Designates a Rich Edit version 2.0 control. This controls let the user view and edit text with character and paragraph formatting, and can include embedded COM objects. For more information, see Rich Edit Controls.
 
For a table of the rich edit control styles you can specify in the dwStyle parameter, see Rich Edit Control Styles.
SCROLLBAR
Designates a rectangle that contains a scroll box and has direction arrows at both ends. The scroll bar sends a notification message to its parent window whenever the user clicks the control. The parent window is responsible for updating the position of the scroll box, if necessary. For more information, see Scroll Bars.
 
For a table of the scroll bar control styles you can specify in the dwStyle parameter, see Scroll Bar Control Styles.
STATIC
Designates a simple text field, box, or rectangle used to label, box, or separate other controls. Static controls take no input and provide no output. For more information, see Static Controls.
 
For a table of the static control styles you can specify in the dwStyle parameter, see Static Control Styles.
 
Windows 95: The system can support a maximum of 16,364 window handles.
Windows CE: Windows CE does not support stand alone menu bars. The hMenu parameter must be NULL, unless it is used as a child-window identifier.
Windows CE versions 2.0 and later support the following two extended window styles:
WS_EX_NOACTIVATE
A top level window created with this style cannot be activated. If a child window has this style, tapping it will not cause its top-level parent to be activated. A window that has this style will receive stylus events, but neither it nor its child windows can get the focus.
WS_EX_NOANIMATION
A window created with this style does not show animated exploding and imploding rectangles, and does not have a button on the taskbar.
The following dwExStyle flags are not supported.
WS_EX_ACCEPTFILES
WS_EX_LEFTSCROLLBAR
WS_EX_LEFT
WS_EX_MDICHILD
WS_EX_LTRREADING
WS_EX_PALETTEWINDOW
WS_EX_NOPARENTNOTIFY
WS_EX_RIGHTSCROLLBAR
WS_EX_RIGHT
WS_EX_TOOLWINDOW
WS_EX_RTLREADING
WS_EX_TRANSPARENT
WS_EX_APPWINDOW
 
 
Windows CE 1.0 does not support the WS_EX_TOPMOST style. Versions 2.0 and later do.
The following dwStyle flags are not supported.
WS_CHILDWINDOW
WS_ICONIC
WS_MAXIMIZE
WS_MAXIMIZEBOX
WS_MINIMIZE
WS_MINIMIZEBOX
WS_OVERLAPPEDWINDOW
WS_POPUPWINDOW
WS_SIZEBOX
WS_THICKFRAME
WS_TILED
WS_TILEDWINDOW
 
All windows implicitly have the WS_CLIPSIBLINGS and WS_CLIPCHILDREN styles.
Windows CE 1.0 does not support owned windows, except for dialog boxes. If the hwndParent parameter is not NULL, the window is implicitly given the WS_CHILD style.
QuickInfo
  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.
See Also
Windows Overview, Window Functions, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindow, GlobalAddAtom, RegisterClassEx, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY

翻译:

 CreateWindowEx函数创建一个重叠的,自动弹出的(pop-up)或是一个子窗口通过扩展格式。另外这个函数的作用与CreateWindow函数的作用相同。要获得更多的关于创建窗口的信息和关于CreateWindowEx函数参数的详细描述。参见CreateWindow
HWND CreateWindowEx(
  DWORD dwExStyle,      // 窗口的扩展风格
  LPCTSTR lpClassName// 指向注册类名的指针
  LPCTSTR lpWindowName, // 指向窗口名称的指针
  DWORD dwStyle,        // 窗口风格
  int x,                // 窗口的水平位置
  int y,                //窗口的垂直位置
  int nWidth,           // 窗口的宽度
  int nHeight,          // 窗口的高度
  HWND hWndParent,      // 父窗口的句柄
  HMENU hMenu,          // 菜单的句柄或是子窗口的标识符
  HINSTANCE hInstance// 应用程序实例的句柄
  LPVOID lpParam        // 指向窗口的创建数据
);
参数:
dwExStyle:指定窗口的扩展风格。参数取下表中的值。
Style
Meaning
WS_EX_ACCEPTFILES
创建的窗口支持托放风格
WS_EX_APPWINDOW
当窗口可视时,强制位于任务栏顶层
WS_EX_CLIENTEDGE
指定窗口有一个凹陷的边界。
WS_EX_CONTEXTHELP
在窗口的标题栏中包含一个问号标志,当用户单击该标记时,鼠标符号变成一个问号标符,如果用户接着点击一下子窗口,这个子窗口获得一个WM_HELP消息。子窗口需要传递这个消息给他父窗口的窗口程序,父窗口窗口程序将用HELP_WM_HELP命令调用WinHelp函数,the Help application displays a pop-up window that typically contains help for the child window.
WS_EX_CONTEXTHELP不能使用WS_MAXIMIZEBOX或WS­_MINIMIZEBOX风格
WS_EX_CONTROLPARENT
Controlparent
允许通过tab键在窗口的个个子窗口之间转换
WS_EX_DLGMODALFRAME
Dlgmodalframe
创建一个双边的窗口,这个窗口可以通过在参数dwStyle中设置WS_CAPTION风格随意的用标题栏创建窗口。
WS_EX_LEFT
设置窗口左对齐属性,为默认值
WS_EX_LEFTSCROLLBAR
如果shell语言是希伯来文等,支持reading order alignment,立轴式滚轮在客户区的左边,对于其他语言,该风格被忽略。
WS_EX_LTRREADING
Ltr reading
窗口文本以从左到右的顺序显示,为默认设置
WS_EX_MDICHILD
创建一个多文档界面窗口
WS_EX_NOPARENTNOTIFY
No parent notify
设置该属性,在创建和销毁子窗口时不向其父窗口发送WM_PARENTNOTIFY消息
WS_EX_OVERLAPPEDWINDOW
Over lapped window/ client edge/window edge
Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles.
WS_EX_PALETTEWINDOW
Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles.  Windowedge/toolwindow/topmost
WS_EX_RIGHT
生成右对齐窗口,依靠窗口类,这种风格只在希伯来文等文字中起作用。其它文字中将被忽略
WS_EX_RIGHTSCROLLBAR
立轴式滚轮在客户区的右端,为默认值
WS_EX_RTLREADING
Rtl reading
If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the window text is displayed using Right to Left reading-order properties. For other languages, the style is ignored and not treated as an error.
WS_EX_STATICEDGE
Static edge
创建一个三维边类型的窗口,表明该栏不接受用户的输入。
WS_EX_TOOLWINDOW
Tool window
创建工具窗口,意味着窗口将被用作浮动的工具栏,工具窗口的标题要比一般窗口的标题栏要短,窗口使用更小的字体显示,不显示在任务栏中,或用户按 alt+tab键出现的对话框中,如果工具窗口有系统目录,它的图标不显示在标题栏中,但可以通过右击或按alt+space键显示系统目录。
WS_EX_TOPMOST
Top most
创建窗口在所有未设置该属性的窗口的上面,并保持这一状态,甚至窗口被停用,添加或删除这一风格,使用SetWindowPos函数
WS_EX_TRANSPARENT
Trans parent
指定该风格意味着只有当与它在同一线程创建的窗口都绘出时,它才能被绘出,窗口以透明方式显示是因为下面的兄弟窗口已经绘出
WS_EX_WINDOWEDGE
使窗口有一个突起的边缘
对于静态或编辑框控件,用WS_EX_RIGHT风格定义与分别使用SS_RIGHTES_RIGHT有相同的效果。对于按钮使用该风格与使用BS_RIGHTBS_RIGHTBUTTON风格相同。
lpClassName:指向一个非空的字符串,或是一个整形的变量,如果lpClassName为一个单元数,它必须是一个事先调用GlobalAddAtom创建的全局变量,该变量有16个字节,值小于0xC000高字位为零,低字位为lpClassName的值.
如果是一个字符串,他指定窗口类的名字,这个名字可以是任何被RegisterClassEx函数注册的名字或是任何事先定义的控件类的名字。
lpWindowName:指向一个指定窗口名的非空字符串,如果窗口类型指定一格标题栏,该字符串会显示在标题栏中,当用CreateWindow创建控件,如按钮、检查框等。用该参数指定控件的文本。
dwStyle:指定窗口被创建的风格,该参数可以复合使用下列窗口类型以及备注中提到的控件类型。
Style
Meaning
WS_BORDER  border
创建一个细边界的窗口
WS_CAPTION
Caption
创建一个带标题栏的窗口,包含WS_BORDER风格
WS_CHILD
创建一个子窗口,该风格必须与WS_POPUP一起使用
WS_CHILDWINDOW
与 WS_CHILD 风格相同
WS_CLIPCHILDREN
Clip children
当窗口绘制发生在父窗口中,拒绝该区域被子窗口占据
WS_CLIPSIBLINGS
Clip siblings
该风格涉及到相互联系的子窗口,当一个特殊的子窗口收到一个WM_PAINT消息,该风格夹起(clip)其他重叠显示的子窗口,并刷新子窗口区域,如未指定该风格,且窗口允许重叠,则会在客户区域重叠显示。
WS_DISABLED
创建一个被禁用的窗口,该窗口不会接受用户的输入
WS_DLGFRAME
Dlgframe
创建一个在对话框中使用的具有典型边框风格的窗口,该风格的窗口没有标题栏
WS_GROUP
Group
指定控件组得第一个控件,一个控件组有首控件和跟在其后得一系列控件组成,每个控件组得第一个控件一般要定义WS_TABSTOP类型,所以使用者可以从一个控件组到另一个控件组。随后可以使用方向键通过改变键盘得焦点实现,从一个控件转移到另一个控件。
WS_HSCROLL
具有水平滚动栏的窗口
WS_ICONIC
Iconic
创建一个初始化状态为最小化得窗口. 等同于 the WS_MINIMIZE 风格
WS_MAXIMIZE
创建一个初始化状态为最大化得窗口
WS_MAXIMIZEBOX
创建一个最大化按钮得窗口,不能和WS_EX_CONTEXTHELP一起使用。而WS_SYSMENU风格必须被指定。
WS_MINIMIZE
创建一个初始化状态为最小化得窗口,等同于Same as the WS_ICONIC 风格
WS_MINIMIZEBOX
创建一个最小化按钮得窗口,不能和WS_EX_CONTEXTHELP一起使用。而WS_SYSMENU风格必须被指定。
WS_OVERLAPPED
Over lapped
创建一个重叠的窗口,有一个标题栏和一个边框,等同于WS_TILED风格
WS_OVERLAPPEDWINDOW
Over lapped window
创建一个重叠窗口有 WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, 和 WS_MAXIMIZEBOX 风格. 等同于 WS_TILEDWINDOW风格
WS_POPUP
创建pop-up窗口,不能与WS_CHILD风格共用
WS_POPUPWINDOW
Creates a pop-up window with WS_BORDER, WS_POPUP, and WS_SYSMENU styles. The WS_CAPTION and WS_POPUPWINDOW styles must be combined to make the window menu visible.
WS_SIZEBOX
Creates a window that has a sizing border. Same as the WS_THICKFRAME style.
WS_SYSMENU
有菜单栏的窗口. WS_CAPTION 必须同时被指定
WS_TABSTOP
指定控件可以接受用户Tab键的输入,用该键把焦点转移到下一个指定了该风格的下一个控件
WS_THICKFRAME
Creates a window that has a sizing border. Same as the WS_SIZEBOX style.
WS_TILED
创建一个重叠窗口
WS_TILEDWINDOW
Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_OVERLAPPEDWINDOW style.
WS_VISIBLE
创建一个初始状态为可见的窗口
WS_VSCROLL
创建一个有垂直滚轴的窗口
x:指定初始时窗口的水平位置,对于重叠或弹出式窗口,x是初始窗口左上角相对于整个屏幕的坐标。对于子窗口是该窗口左上角相对于其父窗口客户区域x轴坐标。
如果CW_USEDEFAULT作参数,系统为窗口左上角选择默认位置,并忽略参数y。只对重叠窗口有效,如果指定了弹出式窗口或子窗口,x,y参数设为0。
y:纵坐标,同x参数相似。
nWidth:指定窗口的宽度,对于对于重叠窗口,nWidth是相对于屏幕坐标的窗口宽度,或CW_USEDEFAULT,如果取CW_USEDEFAULT,系统选择默认宽度从x值延伸到屏幕右边界,默认高度从y值到图标区域顶部,CW_USEDEFAULT只在重叠窗口中有效,如果在弹出或子窗口中取CW_USEDEFAULT,nWidth和nHeight参数设为0。
nHeight:指定窗口高度,对于重叠窗口,nHeight是相对于屏幕坐标的窗口高度,如果nWidth设为CW_USEDEFAULT,忽略nHeight的值。
hwndParent:父窗口的句柄,创建一个子窗口或附属窗口时提供的一个有效的窗口句柄,对于弹出式窗口该参数是可选的。
hMenu:菜单的句柄,或依靠窗口风格,指定子窗口的标识符。对于重叠窗口或弹出式窗口用来识别窗口的菜单,如果(class menu)被使用,该参数可以是空。对于子窗口hMenu指定一个子窗口的标识符为一整数,通过对话框控件向其父窗口通报事件。应用程序决定子窗口标识符,在同一个父窗口中,所有子窗口的标识符必须是唯一的。
hInstance: 与窗口相连的模块实例的句柄。
lpParam:A pointer to a value to be passed to the window through the CREATESTRUCT structure passed in the lParam parameter the WM_CREATE message.如果应用程序调用CreateWindow创建一个多文本接口客户窗口,lpParam必须指向CLIENTCREATESTRUCT结构体。
返回值:如果函数成功返回新窗口的句柄,如果失败返回值为空,要获得更多错误信息,调用GetLastError函数。
备注:CreateWindow 发送WM_NCCREATE,  WM_NCCALCSIZE,WM_CREATE消息给正在创建的窗口。
关于控制在任务栏是否为创建的窗口显示一个按钮的信息,参见Visibility of Taskbar Buttons。
下面的预控制类,可以指定lpClassName参数。记下相应的可以在dwStyle参数中使用的控制类型。
Class
Meaning
BUTTON
命名一个小的矩形子窗口描绘一个按钮,可以通过点击打开或关闭它,可以单独用也可以成组用,可以有标签也可以不显示任何文本,,Button controls typically change appearance when the user click them。
 
对于桌面的按钮风格你可以指定dwStyle参数,详见Button Styles
COMBOBOX
命名一个包含列表栏和类似编辑控件的选择栏控件,使用这种风格时会一直显示一个列表框或是一个下拉列表框。如果是可视的,输入字符选择栏………
 
For a table of the combo box styles you can specify in the dwStyle parameter, see Combo Box Styles.
Windows95最多支持16364个窗口句柄。
Windows CE:不支持独立的菜单栏。HMenu必须为空,除非作为子窗口标识符。2.0后有两种扩展类型。
WS_EX_NOACTIVATE :顶层窗口创建这种风格不具有活性,如子窗口是这种类型
略……
 
原创粉丝点击