An application can create a button control using an application client window as the owner. The following code fragment shows how an application can use buttons in client windows:
#define ID_PBWINDOW 110
HWND hwndButton,hwndClient;
/* Create a button window. */
hwndButton = WinCreateWindow(hwndClient, /* Parent window */
WC_BUTTON, /* Class window */
"Test Button" /* Button text */
WS_VISIBLE | /* Visible style */
BS_PUSHBUTTON, /* Button style */
10, 10, /* x, y */
70, 60, /* cx, cy */
hwndClient, /* Owner window */
HWND_TOP, /* Top of z-order */
ID_PBWINDOW, /* Identifier */
NULL, /* Control data */
NULL); /* parameters */
Once created in the client window, the button control posts a WM_COMMAND message or sends a WM_CONTROL message to the client-window procedure. This window procedure should examine the message identifier to determine which button posted or sent the message.
An application that has client-window buttons can move and size the buttons when the client window receives a WM_SIZE message. An application can move and size a window by using the WinSetWindowPos function. An application can obtain a window handle for a button control by calling the WinWindowFromID function, specifying the handle of the parent window and the window identifier for each button.