windows-nt/Source/XPSP1/NT/ds/nw/convert/logview/fvinit.c
2020-09-26 16:20:57 +08:00

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