这两个可算是Window编程中的基本函数,所有的窗口要创建都需要用到这两个函数。
先看下CreateWindow函数的定义:
#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
可见CreateWindow实际是用CreateWindowEx实现的,CreateWindowEx只比CreateWindow多了一个参数。
那我们看下CreateWindowEx函数的定义:
iHWnd iStdCall CreateWindowExA(iuint dwExStyle,icchar* lpClassName,icchar* lpWindowName,iuint dwStyle,int X,int Y,int nWidth,int nHeight,iHWnd hWndParent,iHMenu hMenu,iHInstance hInstance,void* lpParam);
因为都是基于CreateWindowEx实现的,那我们就以CreateWindowEx来说明。
CreateWindowEx的微软官方定义为:The CreateWindowEx function creates an overlapped, pop-up, or child window with an extended window style; otherwise, this function is identical to the CreateWindow function. 创建一个具有扩展风格的重叠式窗口、弹出式窗口或子窗口,其他与CreateWindow函数相同
下面我们一个参数一个参数的来说明下:
1、dwExStyle:[in] Specifies the extended window style of the window being created. This parameter can be one or more of the following values.指定窗口的扩展风格.该参数可以是下列值:
#define iWs_Ex_DlgModalFrame 0x00000001L//创建一个带双边的窗口;该窗口可以在dwStyle中指定iWs_Caption风格来创建一个标题栏.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.
#define iWs_Ex_NoParentNotify 0x00000004L//指明以这个风格创建的窗口在被创建和销毁时不向父窗口发送WM_PARENTNOTFY消息. | 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.
#define iWs_Ex_TopMost 0x00000008L//指明以该风格创建的窗口应放置在所有非最高层窗口的上面并且停留在其L,即使窗口未被激活.使用函数SetWindowPos来设置和移去这个风格 | 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.
#define iWs_Ex_AcceptFiles 0x00000010L//指定以该风格创建的窗口接受一个拖拽文件 Specifies that a window created with this style accepts drag-drop files.
#define iWs_Ex_TransParent 0x00000020L//指定以这个风格创建的窗口在窗口下的同属窗口已重画时,该窗口才可以重画.由于其下的同属富日已被重画,该窗口是透明的. | 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.
#define iWs_Ex_MdiChild 0x00000040L//创建一个MDI子窗口Creates a multiple-document interface (MDI) child window.
#define iWs_Ex_ToolWindow 0x00000080L//创建工具窗口,即窗口是一个游动的工具条.工具窗口的标题条比一般窗口的标题条短,并且窗口标题以小字体显示.工具窗口不在任务栏里显示,当用户按下alt+Tab键时工具窗口不在对话框里显示.如果工具窗口有一个系统菜单,它的图标也不会显示在标题栏里,但是,可以通过点击鼠标右键或Alt+Space来显示菜单. 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.
#define iWs_Ex_WindowEdge 0x00000100L//Specifies that a window has a border with a raised edge.
#define iWs_Ex_ClientEdge 0x00000200L//指定窗口有一个带阴影的边界Specifies that a window has a border with a sunken edge.
#define iWs_Ex_ContextHelp 0x00000400L//在窗口的标题条包含一个问号标志.当用户点击了问号时,鼠标光标变为一个问号的指针、如果点击了一个子窗口,则子窗日接收到iWm_Help消息.子窗口应该将这个消息传递给父窗口过程,父窗口再通过HELP_WM_HELP命令调用WinHelp函数.这个Help应用程序显示一个包含子窗口帮助信息的弹出式窗口. iWs_Ex_ContextHelp不能与iWs_MaximizeBox和iWs_MinimizeBox同时使用.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.
#define iWs_Ex_Right 0x00001000L//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.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.
#define iWs_Ex_Left 0x00000000L//窗口具有左对齐属性,这是缺省设置的.Creates a window that has generic left-aligned properties. This is the default.
#define iWs_Ex_RtlReading 0x00002000L//如果外壳语言是如Hebrew,Arabic,或其他支持读顺序对齐(reading order alignment)的语言,则窗口文本是一自左向右)RIGHT到LEFT顺序的读出顺序.若是其他语言,在该风格被忽略并且不作为错误处理. 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.
#define iWs_Ex_LtrReading 0x00000000L//窗口文本以LEFT到RIGHT(自左向右)属性的顺序显示.这是缺省设置的.The window text is displayed using left-to-right reading-order properties. This is the default.
#define iWs_Ex_LeftScrollBar 0x00004000L//如果外壳语言是如Hebrew,Arabic,或其他支持reading order alignment的语言,则标题条(如果存在)则在客户区的左部分.若是其他语言,在该风格被忽略并且不作为错误处理.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.
#define iWs_Ex_RightScrollBar 0x00000000L//垂直滚动条在窗口的右边界.这是缺省设置的.Vertical scroll bar (if present) is to the right of the client area. This is the default.
#define iWs_Ex_ControlParent 0x00010000L//允许用户使用Tab键在窗口的子窗口间搜索The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic.
#define iWs_Ex_StaticEdge 0x00020000L//为不接受用户输入的项创建一个3一维边界风格 | Creates a window with a three-dimensional border style intended to be used for items that do not accept user input.
#define iWs_Ex_AppWindow 0x00040000L//当窗口可见时,将一个顶层窗口放置到任务条上(可以让子窗口显示在任务栏中)Forces a top-level window onto the taskbar when the window is visible.
#define iWs_Ex_OverlappedWindow (iWs_Ex_WindowEdge | iWs_Ex_ClientEdge)//iWs_Ex_ClientEdge和iWs_Ex_WindowEdge的组合.Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles.
#define iWs_Ex_PaletteWindow (iWs_Ex_WindowEdge | iWs_Ex_ToolWindow | iWs_Ex_TopMost)//iWs_Ex_WindowEdge, iWs_Ex_ToolWindow和WS_WX_TOPMOST风格的组合iWs_Ex_Right:窗口具有普通的右对齐属性,这依赖于窗口类.只有在外壳语言是如Hebrew,Arabic或其他支持读顺序对齐(reading order alignment)的语言时该风格才有效,否则,忽略该标志并且不作为错误处理|Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles.
#define iWs_Ex_Layered 0x00080000L//Windows 2000/XP: Creates a layered window. Note that this cannot be used for child windows. Also, this cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC.
#define iWs_Ex_NoInheritLayout 0x00100000L// Disable inheritence of mirroring by children | Windows 2000/XP: A window created with this style does not pass its window layout to its child windows.
#define iWs_Ex_LayoutRtl 0x00400000L// Right to left mirroring|Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose horizontal origin is on the right edge. Increasing horizontal values advance to the left.
#define iWs_Ex_Composited 0x02000000L//Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering. For more information, see Remarks. This cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC.
#define iWs_Ex_NoActivate 0x08000000L//Windows 2000/XP: A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window. To activate the window, use the SetActiveWindow or SetForegroundWindow function.The window does not appear on the taskbar by default. To force the window to appear on the taskbar, use the WS_EX_APPWINDOW style.
2、lpClassName[in] Pointer to a null-terminated string or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom 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 RegisterClass or RegisterClassEx, provided that the module that registers the class is also the module that creates the window. The class name can also be any of the predefined system class names.一个空结束的字符串或整型数atom,如果该参数是一个整型量,它是由此前调用theGlobalAddAtom函数产生的全局量.这个小于0xC000的16位数必须是lpClassName参数字的低16位,该参数的高位必须是0.如果lpClassName是一个字符串,它指定了窗口的类名.这个类名可以是任何用函数RegisterClassEx注册的类名,或是任何预定义的控制类名.
3、lpWindowName[in] 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. When creating a static control with the SS_ICON style, use lpWindowName to specify the icon name or identifier. To specify an identifier, use the syntax “#num”. 窗口名,如果窗口有标题条,就在标题条上显示窗口名.当使用本函数来创建控件例如按钮,选择框和静态控制时,可使用本参数来指定控制文本.
4、dwStyle[in] Specifies the style of the window being created. This parameter can be a combination of window styles, plus the control styles indicated in the Remarks section.窗口的风格,是下列窗口风格的组合再加上说明部分的控制风格.
#define iWs_Overlapped 0x00000000L//产生一个层叠的窗口.一个层叠的窗口有一个标题条和一个边框.也用iWs_Tiled
#define iWs_PopUp 0x80000000L//创建一个弹出式窗口.该风格不能与WS_CHLD风格同时使用
#define iWs_Child 0x40000000L//创建一个子窗口.这个风格不能与WS_POPVP风格合用.也用WS_CHLDWINDOW
#define iWs_Minimize 0x20000000L//
#define iWs_Visible 0x10000000L//创建一个初始状态为可见的窗口
#define iWs_Disabled 0x08000000L//创建一个初始状态为禁止的子窗口.一个禁止状态的窗日不能接受来自用户的输人信息
#define iWs_ClipSiblings 0x04000000L//排除子窗口之间的相对区域,也就是,当一个特定的窗口接收到iWm_Paint消息时,将所有层叠窗口排除在绘图之外,只重绘指定的子窗口.如果未指定本风格,并且子窗口是层叠的,则在重绘子窗口的客户区时,就会重绘邻近的子窗口
#define iWs_ClipChildren 0x02000000L//当在父窗口内绘图时,排除子窗口区域.在创建父窗口时使用这个风格
#define iWs_Maximize 0x01000000L//创建一个具有最大化按钮的窗口.该风格不能与iWs_Ex_ContextHelp风格同时出现,同时必须指定iWs_SysMenu风格
#define iWs_Caption 0x00C00000L//创建一个有标题框的窗口(包括WS_BODER风格) iWs_Border | iWs_DlgFrame
#define iWs_Border 0x00800000L//创建一个单边框的窗口
#define iWs_DlgFrame 0x00400000L//创建一个带对话框边框风格的窗口.这种风格的窗口不能带标题条
#define iWs_VScroll 0x00200000L//创建一个有垂直滚动条的窗口
#define iWs_HScroll 0x00100000L//创建一个有水平滚动条的窗口
#define iWs_SysMenu 0x00080000L//创建一个在标题条上带有窗口菜单的窗口,必须同时设定iWs_Caption风格
#define iWs_ThickFrame 0x00040000L//
#define iWs_Group 0x00020000L//指定一组控制的第一个控制.这个控制组由第一个控制和随后定义的控制组成,自第二个控制开始每个控制,具有iWs_Group风格,每个组的第一个控制带有iWs_TabStop风格,从而使用户可以在组间移动.用户随后可以使用光标在组内的控制间改变键盘焦点
#define iWs_TabStop 0x00010000L//创建一个控制,这个控制在用户按下Tab键时可以获得键盘焦点.按下Tab键后使键盘焦点转移到下一具有iWs_TabStop风格的控制
#define iWs_MinimizeBox 0x00020000L//
#define iWs_MaximizeBox 0x00010000L//
#define iWs_OverlappedWindow (iWs_Overlapped | iWs_Caption | iWs_SysMenu | iWs_ThickFrame | iWs_MinimizeBox | iWs_MaximizeBox)//创建一个具有iWs_Overlapped,iWs_Caption,iWs_SysMenu iWs_ThickFrame,iWs_MinimizeBox,WS_MAXMIZEBOX风格的层叠窗口,也用iWs_TiledWindow(一样的效果)
#define iWs_PopUpWindow (iWs_PopUp | iWs_Border | iWs_SysMenu)//创建一个具有iWs_Border,iWs_PopUp,iWs_SysMenu风格的窗口,iWs_Caption和iWs_PopUpWindow必须同时设定才能使窗口某单可见
#define iWs_ChildWindow (iWs_Child)//
#define iWs_Tiled iWs_Overlapped//
#define iWs_Iconic iWs_Minimize//创建一个初始状态为最小化状态的窗口.与iWs_Minimize风格相同
#define iWs_SizeBox iWs_ThickFrame//
#define iWs_TiledWindow iWs_OverlappedWindow//
// Dialog Styles
#define DS_ABSALIGN 0x01L
#define DS_SYSMODAL 0x02L
#define DS_LOCALEDIT 0x20L /* Edit items get Local storage. */
#define DS_SETFONT 0x40L /* User specified font for Dlg controls */
#define DS_MODALFRAME 0x80L /* Can be combined with iWs_Caption */
#define DS_NOIDLEMSG 0x100L /* iWm_EnterIdle message will not be sent */
#define DS_SETFOREGROUND 0x200L /* not in win3.1 */
#define DS_3DLOOK 0x0004L
#define DS_FIXEDSYS 0x0008L
#define DS_NOFAILCREATE 0x0010L
#define DS_CONTROL 0x0400L
#define DS_CENTER 0x0800L
#define DS_CENTERMOUSE 0x1000L
#define DS_CONTEXTHELP 0x2000L
#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
#if(_WIN32_WCE >= 0x0500)
#define DS_USEPIXELS 0x8000L
#endif
5、x[in] 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 this parameter 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. 指定窗口的初始水平位置.对一个层叠或弹出式窗口,X参数是屏幕坐标系的窗口的左上角的初始X坐标.对于子窗口,x是子窗口左上角相对父窗口客户区左上角的初始X坐标.如果该参数被设为iCw_UsedDefault则系统为窗口选择缺省的左上角坐标并忽略Y参数.iCw_UsedDefault只对层叠窗口有效,如果为弹出式窗口或子窗口设定,则X和y参数被设为零.
6、y[in] 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. 指定窗口的初始垂直位置.对一个层叠或弹出式窗日,y参数是屏幕坐标系的窗口的左上角的初始y坐标.对于子窗口,y是子窗口左上角相对父窗口客户区左上角的初始y坐标.对于列表框,y是列表框客户区左上角相对父窗口客户区左上角的初始y坐标.如果层叠窗口是使用iWs_Visible风格位创建的并且X参数被设为iCw_UsedDefault,则系统将忽略y参数.
7、nWidth[in] Specifies the width, in device units, of the window. For overlapped windows, nWidth is either 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-coordinate to the right edge of the screen, and 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, nWidth and nHeight are set to zero. 以设备单元指明窗口的宽度.对于层叠窗口,nWidth或是屏幕坐标的窗口宽度或是iCw_UsedDefault.若nWidth是iCw_UsedDefault,则系统为窗口选择一个缺省的高度和宽度:缺省宽度为从初始X坐标开始到屏幕的右边界,缺省高度为从初始X坐标开始到目标区域的顶部.CW_USEDFEAULT只参层叠窗口有效;如果为弹出式窗口和子窗口设定iCw_UsedDefault标志则nWidth和nHeight被设为零.
8、nHeight[in] Specifies the height, in device units, of the window. For overlapped windows, nHeight is the window’s height, in screen coordinates. If nWidth is set to CW_USEDEFAULT, the system ignores nHeight. 以设备单元指明窗口的高度.对于层叠窗口,nHeight是屏幕坐标的窗口宽度.若nWidth被设为iCw_UsedDefault,则系统忽略nHeight参数.
9、hWndParent[in] 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 2000/XP: To create a message-only window, supply iHWnd_Message or a handle to an existing message-only window.
10、hMenu[in] 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. 菜单句柄,或依据窗口风格指明一个子窗口标识.对于层叠或弹出式窗口,hMenu指定窗口使用的菜单:如果使用了菜单类,则hMenu可以为iNull.对于子窗口,hMenu指定了该子窗口标识(一个整型量),一个对话框使用这个整型值将事件通知父类.应用程序确定子窗口标识,这个值对于相同父窗口的所有子窗口必须是唯一的.
11、hInstance[in] Windows 95/98/Me: Handle to the instance of the module to be associated with the window. 与窗口相关联的模块事例的句柄.
Windows NT/2000/XP: This value is ignored.
12、lpParam[in] Pointer to a value to be passed to the window through the CREATESTRUCT structure passed in the lpParam 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. 指向一个值的指针,该值传递给窗口 iWm_Create消息.该值通过在IParam参数中的CREATESTRUCT结构传递.如果应用程序调用CreateWindow创建一个MDI客户窗口,则lpParam必须指向一个CLIENTCREATESTRUCT结构.
返回值与说明:
If the function succeeds, the return value is a handle to the new window.成功返回新窗口的句柄:失败返回iNull.可GetLastError
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
This function typically fails for one of the following reasons:
1.an invalid parameter value
2.the system class was registered by a different module
3.The WH_CBT hook is installed and returns a failure code
4.the window procedure fails for WM_CREATE or WM_NCCREATE
Before returning, CreateWindow sends a WM_CREATE message to the window procedure. For overlapped, pop-up, and child windows, CreateWindow sends WM_CREATE, WM_GETMINMAXINFO, and WM_NCCREATE messages to the window. The lpParam parameter of the WM_CREATE message contains a pointer to a CREATESTRUCT structure. If the WS_VISIBLE style is specified, CreateWindow sends the window all the messages required to activate and show the window. 在返回前,CreateWindow给窗口过程发送一个iWm_Create消息.对于层叠,弹出式和子窗口,CreateWindow给窗口发送iWm_Create,iWm_GetMinMaxInfo和iWm_NcCreate消息.消息iWm_Create的IParam参数包含一个指向CREATESTRUCT结构的指针.如果指定了iWs_Visible风格,CreateWindow向窗口发送所有需要激活和显示窗口的消息.
If the created window is a child window, its default position is at the bottom of the Z-order. If the created window is a top-level window, its default position is at the top of the Z-order (but beneath all topmost windows unless the created window is itself topmost).
For information on controlling whether the Taskbar displays a button for the created window, see Managing Taskbar Buttons.
The following predefined system classes can be specified in the lpClassName parameter. Note the corresponding control styles you can use in the dwStyle parameter.
Systemclass Meaning
1.BUTTONDesignates 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.
2.COMBOBOXDesignates 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.
3.EDITDesignates 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.
4.LISTBOXDesignates a list of character strings. Specify this control whenever an application must present a list of names, such as file names, 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.
5.MDICLIENTDesignates 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.MDI客户设计出MDI客户窗口.窗口接收控制MDI应用程序子窗口的消息.建议使用两种控制风格位:iWs_ClipChildren和iWs_Child.指定了iWs_HScroll和iWs_VScroll风格的MDI客户窗口允许用户将MDI子窗口滑动进入视窗,查看msdn有详细风格.
6.RichEditDesignates a Microsoft Rich Edit 1.0 control. This window lets the user view and edit text with character and paragraph formatting, and can include embedded Component Object Model (COM) objects. 设计一个Rich Editl.0版的控制.该控制使用户可以以字符和段落格式测览和编辑文本,并且可以包含嵌入的COM对象.,查看msdn有详细风格
7.RICHEDIT_CLASSDesignates a Rich Edit 2.0 control. This controls let the user view and edit text with character and paragraph formatting, and can include embedded COM objects.
8.SCROLLBARDesignates 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.
9.STATICDesignates a simple text field, box, or rectangle used to label, box, or separate other controls. Static controls take no input and provide no output.
Note If you specify Microsoft Windows version 4.x or later when linking your application, its windows cannot have caption buttons unless they also have window menus. This is not a requirement if you specify Windows version 3.x when linking your application.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如有侵权请联系网站管理员删除,联系邮箱1856753@qq.com。