Annotation of mstools/samples/multipad/mpinit.c, revision 1.1

1.1     ! root        1: 
        !             2: /***************************************************************************
        !             3:  *                                                                        *
        !             4:  *  MODULE     : MpInit.c                                                 *
        !             5:  *                                                                        *
        !             6:  *  PURPOSE    : Contains initialization code for MultiPad.               *
        !             7:  *                                                                        *
        !             8:  *  FUNCTIONS  : InitializeApplication() - Sets up Class data structure   *
        !             9:  *                                         and registers window class.    *
        !            10:  *                                                                        *
        !            11:  *               InitializeInstance ()   - Does a per-instance initial-   *
        !            12:  *                                         ization of MultiPad. Creates   *
        !            13:  *                                         the "frame" and MDI client.    *
        !            14:  *                                                                        *
        !            15:  ***************************************************************************/
        !            16: #include "multipad.h"
        !            17: 
        !            18: CHAR szFrame[] = "mpframe";   /* Class name for "frame" window */
        !            19: CHAR szChild[] = "mpchild";   /* Class name for MDI window     */
        !            20: 
        !            21: /****************************************************************************
        !            22:  *                                                                         *
        !            23:  *  FUNCTION   : InitializeApplication ()                                  *
        !            24:  *                                                                         *
        !            25:  *  PURPOSE    : Sets up the class data structures and does a one-time     *
        !            26:  *              initialization of the app by registering the window classes*
        !            27:  *                                                                         *
        !            28:  *  RETURNS    : TRUE  - If RegisterClass() was successful for both classes.*
        !            29:  *              FALSE - otherwise.                                         *
        !            30:  *                                                                         *
        !            31:  ****************************************************************************/
        !            32: 
        !            33: BOOL APIENTRY InitializeApplication()
        !            34: {
        !            35:     WNDCLASS   wc;
        !            36: 
        !            37:     /* Register the frame class */
        !            38:     wc.style        = 0;
        !            39:     wc.lpfnWndProc   = (WNDPROC) MPFrameWndProc;
        !            40:     wc.cbClsExtra    = 0;
        !            41:     wc.cbWndExtra    = 0;
        !            42:     wc.hInstance    = hInst;
        !            43:     wc.hIcon        = LoadIcon(hInst,IDMULTIPAD);
        !            44:     wc.hCursor      = LoadCursor(NULL,IDC_ARROW);
        !            45:     wc.hbrBackground = (HBRUSH) (COLOR_APPWORKSPACE+1);
        !            46:     wc.lpszMenuName  = IDMULTIPAD;
        !            47:     wc.lpszClassName = szFrame;
        !            48: 
        !            49:     if (!RegisterClass (&wc) )
        !            50:        return FALSE;
        !            51: 
        !            52:     /* Register the MDI child class */
        !            53:     wc.lpfnWndProc   = (WNDPROC) MPMDIChildWndProc;
        !            54:     wc.hIcon        = LoadIcon(hInst,IDNOTE);
        !            55:     wc.lpszMenuName  = NULL;
        !            56:     wc.cbWndExtra    = CBWNDEXTRA;
        !            57:     wc.lpszClassName = szChild;
        !            58: 
        !            59:     if (!RegisterClass(&wc))
        !            60:        return FALSE;
        !            61: 
        !            62:     return TRUE;
        !            63: 
        !            64: }
        !            65: 
        !            66: /****************************************************************************
        !            67:  *                                                                         *
        !            68:  *  FUNCTION   : InitializeInstance ()                                     *
        !            69:  *                                                                         *
        !            70:  *  PURPOSE    : Performs a per-instance initialization of MultiPad. It     *
        !            71:  *              also creates the frame and an MDI window.                  *
        !            72:  *                                                                         *
        !            73:  *  RETURNS    : TRUE  - If initialization was successful.                 *
        !            74:  *              FALSE - otherwise.                                         *
        !            75:  *                                                                         *
        !            76:  ****************************************************************************/
        !            77: BOOL APIENTRY InitializeInstance(LPSTR lpCmdLine, INT nCmdShow)
        !            78: {
        !            79:     extern HWND  hwndMDIClient;
        !            80:     CHAR        sz[80], *pCmdLine;
        !            81:     HDC         hdc;
        !            82:     HMENU       hmenu;
        !            83: 
        !            84:     /* Get the base window title */
        !            85:     LoadString (hInst, IDS_APPNAME, sz, sizeof(sz));
        !            86: 
        !            87:     /* Create the frame */
        !            88:     hwndFrame = CreateWindow (szFrame,
        !            89:                              sz,
        !            90:                              WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
        !            91:                              CW_USEDEFAULT,
        !            92:                              0,
        !            93:                              CW_USEDEFAULT,
        !            94:                              0,
        !            95:                              NULL,
        !            96:                              NULL,
        !            97:                              hInst,
        !            98:                              NULL);
        !            99: 
        !           100:     if ((!hwndFrame) || (!hwndMDIClient))
        !           101:        return FALSE;
        !           102: 
        !           103:     /* Load main menu accelerators */
        !           104:     if (!(hAccel = LoadAccelerators (hInst, IDMULTIPAD)))
        !           105:        return FALSE;
        !           106: 
        !           107:     /* Display the frame window */
        !           108:     ShowWindow (hwndFrame, nCmdShow);
        !           109:     UpdateWindow (hwndFrame);
        !           110: 
        !           111:     /* If the command line string is empty, nullify the pointer to it 
        !           112:     ** else copy command line into our data segment 
        !           113:     */
        !           114:     if ( lpCmdLine && !(*lpCmdLine))
        !           115:             pCmdLine = NULL;
        !           116:     else {
        !           117:         pCmdLine = (CHAR *) LocalAlloc(LPTR, lstrlen(lpCmdLine) + 1);
        !           118:         if (pCmdLine)
        !           119:            lstrcpy(pCmdLine, lpCmdLine);
        !           120:     }
        !           121: 
        !           122:     /* Add the first MDI window */
        !           123:     AddFile (pCmdLine);
        !           124: 
        !           125:     /* if we allocated a buffer then free it */
        !           126:     if (pCmdLine)
        !           127:         LocalFree((LOCALHANDLE) pCmdLine);
        !           128: 
        !           129:     /* Default to minimized windows after the first. */
        !           130:     styleDefault = 0L;
        !           131: 
        !           132:     return TRUE;
        !           133:        UNREFERENCED_PARAMETER(hmenu);
        !           134:        UNREFERENCED_PARAMETER(hdc);
        !           135: 
        !           136: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.