4 * Copyright 1997 Marcel Baur <mbaur@g26.ethz.ch>
17 void LIBWINE_Register_De();
18 void LIBWINE_Register_En();
19 void LIBWINE_Register_Sw();
22 NOTEPAD_GLOBALS Globals
;
24 /***********************************************************************
28 * All handling of main menu events
31 int NOTEPAD_MenuCommand (WPARAM wParam
)
34 case NP_FILE_NEW
: DIALOG_FileNew(); break;
35 case NP_FILE_OPEN
: DIALOG_FileOpen(); break;
36 case NP_FILE_SAVE
: DIALOG_FileSave(); break;
37 case NP_FILE_SAVEAS
: DIALOG_FileSaveAs(); break;
38 case NP_FILE_PRINT
: DIALOG_FilePrint(); break;
39 case NP_FILE_PAGESETUP
: DIALOG_FilePageSetup(); break;
40 case NP_FILE_PRINTSETUP
: DIALOG_FilePrinterSetup();break;
41 case NP_FILE_EXIT
: DIALOG_FileExit(); break;
43 case NP_EDIT_UNDO
: DIALOG_EditUndo(); break;
44 case NP_EDIT_CUT
: DIALOG_EditCut(); break;
45 case NP_EDIT_COPY
: DIALOG_EditCopy(); break;
46 case NP_EDIT_PASTE
: DIALOG_EditPaste(); break;
47 case NP_EDIT_DELETE
: DIALOG_EditDelete(); break;
48 case NP_EDIT_SELECTALL
: DIALOG_EditSelectAll(); break;
49 case NP_EDIT_TIMEDATE
: DIALOG_EditTimeDate();break;
50 case NP_EDIT_WRAP
: DIALOG_EditWrap(); break;
52 case NP_SEARCH_SEARCH
: DIALOG_Search(); break;
53 case NP_SEARCH_NEXT
: DIALOG_SearchNext(); break;
55 case NP_HELP_CONTENTS
: DIALOG_HelpContents(); break;
56 case NP_HELP_SEARCH
: DIALOG_HelpSearch(); break;
57 case NP_HELP_ON_HELP
: DIALOG_HelpHelp(); break;
58 case NP_HELP_LICENSE
: DIALOG_HelpLicense(); break;
59 case NP_HELP_NO_WARRANTY
: DIALOG_HelpNoWarranty(); break;
60 case NP_HELP_ABOUT_WINE
: DIALOG_HelpAboutWine(); break;
64 LANGUAGE_DefaultHandle(wParam
);
71 /***********************************************************************
76 LRESULT
NOTEPAD_WndProc (HWND hWnd
, UINT msg
, WPARAM wParam
, LPARAM lParam
)
86 BeginPaint(hWnd
, &ps
);
91 NOTEPAD_MenuCommand(wParam
);
99 return DefWindowProc (hWnd
, msg
, wParam
, lParam
);
106 /***********************************************************************
111 int PASCAL
WinMain (HANDLE hInstance
, HANDLE prev
, LPSTR cmdline
, int show
)
115 char className
[] = "NPClass"; /* To make sure className >= 0x10000 */
116 char winName
[] = "Notepad";
118 #if defined(WINELIB) && !defined(HAVE_WINE_CONSTRUCTOR)
119 /* Register resources */
120 LIBWINE_Register_De();
121 LIBWINE_Register_En();
122 LIBWINE_Register_Sw();
127 Globals
.lpszIniFile
= "notepad.ini";
128 Globals
.lpszIcoFile
= "notepad.ico";
130 /* Select Language */
133 Globals
.hInstance
= hInstance
;
134 Globals
.hMainIcon
= ExtractIcon(Globals
.hInstance
,
135 Globals
.lpszIcoFile
, 0);
136 if (!Globals
.hMainIcon
) Globals
.hMainIcon
=
137 LoadIcon(0, MAKEINTRESOURCE(DEFAULTICON
));
139 lstrcpyn(Globals
.szFindText
, "\0", 1);
140 lstrcpyn(Globals
.szFileName
, "\0", 1);
143 class.style
= CS_HREDRAW
| CS_VREDRAW
;
144 class.lpfnWndProc
= NOTEPAD_WndProc
;
145 class.cbClsExtra
= 0;
146 class.cbWndExtra
= 0;
147 class.hInstance
= Globals
.hInstance
;
148 class.hIcon
= LoadIcon (0, IDI_APPLICATION
);
149 class.hCursor
= LoadCursor (0, IDC_ARROW
);
150 class.hbrBackground
= GetStockObject (WHITE_BRUSH
);
151 class.lpszMenuName
= 0;
152 class.lpszClassName
= className
;
155 if (!RegisterClass (&class))
158 Globals
.hMainWnd
= CreateWindow (className
, winName
, WS_OVERLAPPEDWINDOW
,
159 CW_USEDEFAULT
, 0, CW_USEDEFAULT
, 0, 0,
160 LoadMenu(Globals
.hInstance
, STRING_MENU_Xx
),
161 Globals
.hInstance
, 0);
163 LANGUAGE_SelectByName(Globals
.lpszLanguage
);
165 SetMenu(Globals
.hMainWnd
, Globals
.hMainMenu
);
167 ShowWindow (Globals
.hMainWnd
, show
);
168 UpdateWindow (Globals
.hMainWnd
);
171 while (GetMessage (&msg
, 0, 0, 0)) {
172 TranslateMessage (&msg
);
173 DispatchMessage (&msg
);
178 /* Local Variables: */
179 /* c-file-style: "GNU" */