3 static const TCHAR szEditWndClass
[] = TEXT("WordPadEditWndClass");
7 InitEditWnd(PEDIT_WND_INFO Info
)
12 hDLL
= LoadLibrary(_T("RICHED20.DLL"));
19 Info
->hEdit
= CreateWindowEx(0, //WS_EX_CLIENTEDGE,
22 WS_CHILD
| WS_VISIBLE
| WS_VSCROLL
| WS_HSCROLL
|
23 ES_MULTILINE
| ES_AUTOVSCROLL
| ES_AUTOHSCROLL
,
32 if(Info
->hEdit
== NULL
)
39 hfDefault
= (HFONT
) GetStockObject(DEFAULT_GUI_FONT
);
40 SendMessage(Info
->hEdit
,
43 MAKELPARAM(FALSE
, 0));
49 static LRESULT CALLBACK
50 EditWndProc(HWND hwnd
,
58 /* Get the window context */
59 Info
= (PEDIT_WND_INFO
)GetWindowLongPtr(hwnd
,
61 if (Info
== NULL
&& uMsg
!= WM_CREATE
)
63 goto HandleDefaultMessage
;
70 Info
= (PEDIT_WND_INFO
)(((LPMDICREATESTRUCT
)((LPCREATESTRUCT
)lParam
)->lpCreateParams
)->lParam
);
73 SetWindowLongPtr(hwnd
,
77 if (!InitEditWnd(Info
))
89 if (GetClientRect(Info
->hSelf
,
92 SetWindowPos(Info
->hEdit
,
103 HandleDefaultMessage
:
104 Ret
= DefMDIChildProc(hwnd
,
117 SetEditorEnvironment(PEDIT_WND_INFO Info
,
122 /* FIXME - setup editor environment (e.g. show toolbars, enable menus etc) */
126 /* FIXME - cleanup editor environment (e.g. hide toolbars, disable menus etc) */
132 CreateEditWindow(struct _MAIN_WND_INFO
*MainWnd
,
133 POPEN_EDIT_INFO OpenInfo
)
138 Info
= (EDIT_WND_INFO
*) HeapAlloc(ProcessHeap
,
140 sizeof(EDIT_WND_INFO
));
144 sizeof(EDIT_WND_INFO
));
145 Info
->MainWnd
= MainWnd
;
146 Info
->MdiEditorType
= metImageEditor
;
147 Info
->OpenInfo
= OpenInfo
;
149 hWndEditor
= CreateMDIWindow(szEditWndClass
,
150 OpenInfo
->lpDocumentName
,
160 if (hWndEditor
!= NULL
)
164 HeapFree(ProcessHeap
,
173 InitEditWindowImpl(VOID
)
177 wc
.cbSize
= sizeof(WNDCLASSEX
);
178 wc
.lpfnWndProc
= EditWndProc
;
179 wc
.hInstance
= hInstance
;
180 wc
.hIcon
= LoadIcon(hInstance
,
181 MAKEINTRESOURCE(IDI_ICON
));
182 wc
.hCursor
= LoadCursor(NULL
,
184 wc
.hbrBackground
= (HBRUSH
)(COLOR_BTNFACE
+ 1);
185 wc
.lpszMenuName
= NULL
;
186 wc
.lpszClassName
= szEditWndClass
;
187 wc
.hIconSm
= (HICON
)LoadImage(hInstance
,
188 MAKEINTRESOURCE(IDI_ICON
),
194 return RegisterClassEx(&wc
) != (ATOM
)0;
198 UninitEditWindowImpl(VOID
)
200 UnregisterClass(szEditWndClass
,