--- pmsdk/samples/petzold/chap02/welcom.c 2018/08/09 12:28:13 1.1 +++ pmsdk/samples/petzold/chap02/welcom.c 2018/08/09 12:28:25 1.1.1.2 @@ -1,41 +1,37 @@ -/*---------------------------------------------------- - WELCOM.C -- A Program that Creates a Client Window - ----------------------------------------------------*/ +/*------------------------------------------------ + WELCOM.C -- A Program that has a Standard Icon + ------------------------------------------------*/ +#define INCL_WIN #include -MRESULT EXPENTRY ClientWndProc (HWND, USHORT, MPARAM, MPARAM) ; - int main (void) { - static CHAR szClientClass [] = "Welcom" ; - HAB hab ; - HMQ hmq ; - HWND hwndFrame, hwndClient ; - QMSG qmsg ; - ULONG flFrameFlags = FCF_STANDARD & ~FCF_MENU ; - ULONG flFrameStyle = WS_VISIBLE ; + static ULONG flFrameFlags = FCF_TITLEBAR | FCF_SYSMENU | + FCF_SIZEBORDER | FCF_MINMAX | + FCF_SHELLPOSITION | FCF_TASKLIST ; + HAB hab ; + HMQ hmq ; + HWND hwndFrame ; + QMSG qmsg ; hab = WinInitialize (0) ; hmq = WinCreateMsgQueue (hab, 0) ; - WinRegisterClass ( - hab, /* Anchor block handle */ - szClientClass, /* Name of class being registered */ - ClientWndProc, /* Window procedure for class */ - 0L, /* Class style */ - 0) ; /* Extra bytes to reserve */ - hwndFrame = WinCreateStdWindow ( - HWND_DESKTOP, /* Parent window handle */ - flFrameStyle, /* Style of frame window */ - &flFrameFlags, /* Pointer to control data */ - szClientClass, /* Client window class name */ - "WELCOM Program", /* Title bar text */ - 0L, /* Style of client window */ - NULL, /* Module handle for resources */ - 0, /* ID of resources */ - &hwndClient) ; /* Pointer to client window handle */ + HWND_DESKTOP, // Parent window handle + WS_VISIBLE, // Style of frame window + &flFrameFlags, // Pointer to control data + NULL, // Client window class name + NULL, // Title bar text + 0L, // Style of client window + NULL, // Module handle for resources + 0, // ID of resources + NULL) ; // Pointer to client window handle + + WinSendMsg (hwndFrame, WM_SETICON, + WinQuerySysPointer (HWND_DESKTOP, SPTR_APPICON, FALSE), + NULL) ; while (WinGetMsg (hab, &qmsg, NULL, 0, 0)) WinDispatchMsg (hab, &qmsg) ; @@ -43,11 +39,5 @@ int main (void) WinDestroyWindow (hwndFrame) ; WinDestroyMsgQueue (hmq) ; WinTerminate (hab) ; - return 0 ; } - -MRESULT EXPENTRY ClientWndProc (HWND hwnd, USHORT msg, MPARAM mp1, MPARAM mp2) - { - return WinDefWindowProc (hwnd, msg, mp1, mp2) ; - }