156 lines
5.6 KiB
C
156 lines
5.6 KiB
C
|
/*
|
||
|
+-------------------------------------------------------------------------+
|
||
|
| Initialization Code |
|
||
|
+-------------------------------------------------------------------------+
|
||
|
| (c) Copyright 1993 |
|
||
|
| Microsoft Corp. |
|
||
|
| All rights reserved |
|
||
|
| |
|
||
|
| Program : [mpinit.c] |
|
||
|
| Programmer : Arthur Hanson |
|
||
|
| Original Program Date : [Jul 27, 1993 |
|
||
|
| Last Update : [Jul 30, 1993] Time : 18:30 |
|
||
|
| |
|
||
|
| Version: 0.10 |
|
||
|
| |
|
||
|
| Description: |
|
||
|
| |
|
||
|
| History: |
|
||
|
| arth Jul 27, 1993 0.10 Original Version. |
|
||
|
| |
|
||
|
+-------------------------------------------------------------------------+
|
||
|
*/
|
||
|
#include "LogView.h"
|
||
|
|
||
|
CHAR szFrame[] = "mpframe"; // Class name for "frame" window
|
||
|
CHAR szChild[] = "mpchild"; // Class name for MDI window
|
||
|
|
||
|
/*+-------------------------------------------------------------------------+
|
||
|
| InitializeApplication() |
|
||
|
| |
|
||
|
+-------------------------------------------------------------------------+*/
|
||
|
BOOL APIENTRY InitializeApplication() {
|
||
|
WNDCLASS wc;
|
||
|
|
||
|
// Register the frame class
|
||
|
wc.style = 0;
|
||
|
wc.lpfnWndProc = (WNDPROC) MPFrameWndProc;
|
||
|
wc.cbClsExtra = 0;
|
||
|
wc.cbWndExtra = 0;
|
||
|
wc.hInstance = hInst;
|
||
|
wc.hIcon = LoadIcon(hInst,IDLOGVIEW);
|
||
|
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
|
||
|
wc.hbrBackground = (HBRUSH) (COLOR_APPWORKSPACE+1);
|
||
|
wc.lpszMenuName = IDLOGVIEW;
|
||
|
wc.lpszClassName = szFrame;
|
||
|
|
||
|
if (!RegisterClass (&wc) )
|
||
|
return FALSE;
|
||
|
|
||
|
// Register the MDI child class
|
||
|
wc.lpfnWndProc = (WNDPROC) MPMDIChildWndProc;
|
||
|
wc.hIcon = LoadIcon(hInst,IDNOTE);
|
||
|
wc.lpszMenuName = NULL;
|
||
|
wc.cbWndExtra = CBWNDEXTRA;
|
||
|
wc.lpszClassName = szChild;
|
||
|
|
||
|
if (!RegisterClass(&wc))
|
||
|
return FALSE;
|
||
|
|
||
|
return TRUE;
|
||
|
|
||
|
} // InitializeApplication
|
||
|
|
||
|
|
||
|
/*+-------------------------------------------------------------------------+
|
||
|
| InitializeInstance() |
|
||
|
| |
|
||
|
+-------------------------------------------------------------------------+*/
|
||
|
BOOL APIENTRY InitializeInstance(LPSTR lpCmdLine, INT nCmdShow) {
|
||
|
extern HWND hwndMDIClient;
|
||
|
CHAR sz[80], *pCmdLine, *pFileName, *pChar;
|
||
|
HDC hdc;
|
||
|
HMENU hmenu;
|
||
|
|
||
|
// Get the base window title
|
||
|
LoadString (hInst, IDS_APPNAME, sz, sizeof(sz));
|
||
|
|
||
|
hStdCursor= LoadCursor( NULL,IDC_ARROW );
|
||
|
hWaitCursor= LoadCursor( NULL, IDC_WAIT );
|
||
|
|
||
|
// Create the frame
|
||
|
hwndFrame = CreateWindow (szFrame, sz, WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
|
||
|
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL,
|
||
|
NULL, hInst, NULL);
|
||
|
|
||
|
if ((!hwndFrame) || (!hwndMDIClient))
|
||
|
return FALSE;
|
||
|
|
||
|
// Load main menu accelerators
|
||
|
if (!(hAccel = LoadAccelerators (hInst, IDLOGVIEW)))
|
||
|
return FALSE;
|
||
|
|
||
|
// init.fields of the FINDREPLACE struct used by FindText()
|
||
|
FR.lStructSize = sizeof(FINDREPLACE);
|
||
|
FR.hwndOwner = hwndFrame;
|
||
|
FR.Flags = FR_DOWN | FR_HIDEWHOLEWORD;
|
||
|
FR.lpstrReplaceWith = (LPTSTR)NULL;
|
||
|
FR.wReplaceWithLen = 0;
|
||
|
FR.lpfnHook = NULL;
|
||
|
|
||
|
/* determine the message number to be used for communication with
|
||
|
* Find dialog
|
||
|
*/
|
||
|
if (!(wFRMsg = RegisterWindowMessage ((LPTSTR)FINDMSGSTRING)))
|
||
|
return FALSE;
|
||
|
if (!(wHlpMsg = RegisterWindowMessage ((LPTSTR)HELPMSGSTRING)))
|
||
|
return FALSE;
|
||
|
|
||
|
// Display the frame window
|
||
|
ShowWindow (hwndFrame, nCmdShow);
|
||
|
UpdateWindow (hwndFrame);
|
||
|
|
||
|
// If the command line string is empty, nullify the pointer to it else copy
|
||
|
// command line into our data segment
|
||
|
if ( lpCmdLine && !(*lpCmdLine)) {
|
||
|
pCmdLine = NULL;
|
||
|
|
||
|
// Add the first MDI window
|
||
|
AddFile (pCmdLine);
|
||
|
|
||
|
} else {
|
||
|
pCmdLine = (CHAR *) LocalAlloc(LPTR, lstrlen(lpCmdLine) + 1);
|
||
|
|
||
|
if (pCmdLine) {
|
||
|
lstrcpy(pCmdLine, lpCmdLine);
|
||
|
|
||
|
pFileName = pChar = pCmdLine;
|
||
|
|
||
|
while (*pChar) {
|
||
|
if (*pChar == ' ') {
|
||
|
*pChar = '\0';
|
||
|
AddFile(pFileName);
|
||
|
*pChar = ' ';
|
||
|
pChar++;
|
||
|
pFileName = pChar;
|
||
|
} else
|
||
|
pChar++;
|
||
|
}
|
||
|
AddFile(pFileName);
|
||
|
|
||
|
} else
|
||
|
|
||
|
// Add the first MDI window
|
||
|
AddFile (pCmdLine);
|
||
|
}
|
||
|
|
||
|
// if we allocated a buffer then free it
|
||
|
if (pCmdLine)
|
||
|
LocalFree((LOCALHANDLE) pCmdLine);
|
||
|
|
||
|
return TRUE;
|
||
|
UNREFERENCED_PARAMETER(hmenu);
|
||
|
UNREFERENCED_PARAMETER(hdc);
|
||
|
|
||
|
} // InitializeInstance
|