Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "heads.h"
- #pragma comment( linker, "/entry:my_main" )
- #pragma comment(linker,"/SUBSYSTEM:WINDOWS")
- base_gui *main_window=0;
- menu_builder *m_creator=0;
- richedit_using *text_area=0;
- text_operator *ft_ops = 0;
- LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
- int my_main()
- {
- main_window = new base_gui("MY_NOTEPAD", WndProc, GetModuleHandleA(0));
- main_window->ShowLikeParentWindow("");
- ExitProcess(0);
- return 0;
- }
- LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
- {
- HDC hdc;
- PAINTSTRUCT ps;
- switch (message)
- {
- case WM_CREATE:
- {
- m_creator = new menu_builder(hWnd);
- m_creator->BeginCreateMenu();
- m_creator->AddMenuLabel("&Відкрити", IDM_OPEN);
- m_creator->AddSeparator();
- m_creator->AddMenuLabel("&Зберегти", IDM_SAVE);
- m_creator->AddSeparator();
- m_creator->AddMenuLabel("&Вихід", IDM_CLOSE);
- m_creator->FinishMenu("&Файл");
- m_creator->SetMenu();
- text_area = new richedit_using(hWnd, "RICHEDIT", ID_RICH, GetModuleHandleA(0));
- text_area->ShowLikeChild("");
- text_area->AlignSize();
- ft_ops = new text_operator(hWnd);
- }break;
- case WM_SIZE:
- {
- if (text_area != 0)
- {
- text_area->AlignSize();
- }
- }break;
- case WM_PAINT:
- {
- hdc = BeginPaint(hWnd, &ps);
- EndPaint(hWnd, &ps);
- }
- break;
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case IDM_OPEN:
- {
- char *data=0;
- data=ft_ops->OpenFile();
- text_area->SetText(data);
- if (data != 0)
- {
- delete[]data;
- }
- }break;
- case IDM_SAVE:
- {
- char *data = 0;
- data = text_area->GetText();
- ft_ops->SaveFile(data);
- delete []data;
- }break;
- case IDM_CLOSE:
- {
- PostQuitMessage(0);
- }
- }
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hWnd, message, wParam, lParam);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment