The window is created with zero width and depth and positioned at the bottom left of the hwndParent, unless FCF_SHELLPOSITION is specified, in which case the size and position are set by the shell. The window can be positioned and sized by use of WinSetWindowPos.

If WS_VISIBLE is set, the frame window is created visible. It is recommended that standard windows that are not main windows are created with WS_VISIBLE not set.

hwndFrame is the window handle of the frame window, that is, the window of class WC_FRAME, and has a parent of hwndParent.

The frame window is created with identity ulId, all the component windows, known as the frame controls, have the standard window identifiers FID_*; see The identifier FID_CLIENT is used for the client area of the window.

It may be necessary to change the ulId of the frame window after it has been created, so that another frame window can be created with the same resource tables, and still maintain distinct window identities. This can be achieved with the WinSetWindowUShort call.

Some combinations of frame control flags are valid, but leave visual holes in the frame window. Specifically, if the pflCreateFlags parameter specifies any of FCF_SYSMENU, FCF_MINBUTTON, FCF_MAXBUTTON or FCF_MINMAX, but not FCF_TITLEBAR, the area of the top title line between the optional system menu and the minimize/maximize icons is not drawn by the default frame window procedure.

None of the following can be used with WinCreateStdWindow:

If any of the above are specified, the window is not redrawn correctly. Any style can be used for the children of the client. If it really is required that a client or a frame control is CLIPSIBLINGS, the application must ensure that it is in front of the client and all the other frame controls, for it to be drawn.


[Back] [Next]