百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

CreateWindow与CreateWindowEx函数详解

bigegpt 2024-08-09 11:12 2 浏览

这两个可算是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.

相关推荐

10w qps缓存数据库——Redis(redis缓存调优)

一、Redis数据库介绍:Redis:非关系型缓存数据库nosql:非关系型数据库没有表,没有表与表之间的关系,更不存在外键存储数据的形式为key:values的形式c语言写的服务(监听端口),用来存...

Redis系列专题4--Redis配置参数详解

本文基于windowsX64,3.2.100版本讲解,不同版本默认配置参数不同在Redis中,Redis的根目录中有一个配置文件(redis.conf,windows下为redis.windows....

开源一夏 | 23 张图,4500 字从入门到精通解释 Redis

redis是目前出场率最高的NoSQL数据库,同时也是一个开源的数据结构存储系统,在缓存、数据库、消息处理等场景使用的非常多,本文瑞哥就带着大家用一篇文章入门这个强大的开源数据库——Redis。...

redis的简单与集群搭建(redis建立集群)

Redis是什么?是开源免费用c语言编写的单线程高性能的(key-value形式)内存数据库,基于内存运行并支持持久化的nosql数据库作用主要用来做缓存,单不仅仅是做缓存,比如:redis的计数器生...

推荐几个好用Redis图形化客户端工具

RedisPlushttps://gitee.com/MaxBill/RedisPlusRedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows、Linux...

关于Redis在windows上运行及fork函数问题

Redis在将数据库进行持久化操作时,需要fork一个进程,但是windows并不支持fork,导致在持久化操作期间,Redis必须阻塞所有的客户端直至持久化操作完成。微软的一些工程师花费时间在解决在...

你必须懂的Redis十大应用场景(redis常见应用场景)

Redis作为一款高性能的键值存储数据库,在互联网业务中有着广泛的应用。今天,我们就来详细盘点一下Redis的十大常用业务场景,并附上Golang的示例代码和简图,帮助大家更好地理解和应用Redis。...

极简Redis配置(redis的配置)

一、概述Redis的配置文件位于Redis安装目录下,文件名为redis.conf(Windows名为redis.windows.conf,linux下的是redis.conf)你可以通过C...

什么是redis,怎么启动及如何压测

从今天起咱们一起来学习一下关于“redis监控与调优”的内容。一、Redis介绍Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。...

一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI

介绍P3XRedisUI这是一个非常实用的RedisGUI,提供响应式WebUI访问或作为桌面应用程序使用,桌面端是跨平台的,而且完美支持中文界面。Githubhttps://github....

windows系统的服务器快速部署java项目环境地址

1、mysql:https://dev.mysql.com/downloads/mysql/(msi安装包)2、redis:https://github.com/tporadowski/redis/r...

window11 下 redis 下载与安装(windows安装redis客户端)

#热爱编程是一种怎样的体验#window11下redis下载与安装1)各个版本redis下载(windows)https://github.com/MicrosoftArchive/r...

一款轻量级的Redis客户端工具,贼好用!

使用命令行来操作Redis是一件非常麻烦的事情,我们一般会选用客户端工具来操作Redis。今天给大家分享一款好用的Redis客户端工具TinyRDM,它的界面清新又优雅,希望对大家有所帮助!简介Ti...

一个.NET开发且功能强大的Windows远程控制系统

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍SiMayRemoteMonitorOS是一个基于Windows的远程控制系统,完...

Redis客户端工具详解(4款主流工具)

大家好,我是mikechen。Redis是大型架构的基石,也是大厂最爱考察内容,今天就给大家重点详解4款Redis工具@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集...