Annotation of mstools/samples/multipad/mpinit.c, revision 1.1.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.