Операционная система Windows 95 для программиста



    d8ef8794     

Исходные тексты приложения RtfPad - часть 2


// ----------------------------------------------------- // Функция WndProc // ----------------------------------------------------- LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { HANDLE_MSG(hWnd, WM_CREATE, WndProc_OnCreate); HANDLE_MSG(hWnd, WM_DESTROY, WndProc_OnDestroy); HANDLE_MSG(hWnd, WM_COMMAND, WndProc_OnCommand); HANDLE_MSG(hWnd, WM_SIZE, WndProc_OnSize); HANDLE_MSG(hWnd, WM_SETFOCUS, WndProc_OnSetFocus);

default: return(DefWindowProc(hWnd, msg, wParam, lParam)); } }

// ----------------------------------------------------- // Функция WndProc_OnCreate // ----------------------------------------------------- BOOL WndProc_OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct) { RECT rc;

// Определяем размеры внутренней области главного окна GetClientRect(hWnd, &rc);

// Создаем орган управления Rich Edit hwndEdit = CreateWindowEx(0L, "RICHEDIT", "", WS_VISIBLE | WS_CHILD | WS_BORDER | WS_HSCROLL | WS_VSCROLL | ES_NOHIDESEL | ES_AUTOVSCROLL | ES_MULTILINE | ES_SAVESEL | ES_SUNKEN, 0, 0, rc.right - rc.left, rc.bottom - rc.top, hWnd, (HMENU) IDC_RTFEDIT, hInst, NULL);

if(hwndEdit == NULL) return FALSE;

// Передаем фокус ввода органу управления Rich Edit SetFocus(hwndEdit);

return TRUE; }

// ----------------------------------------------------- // Функция WndProc_OnDestroy // ----------------------------------------------------- #pragma warning(disable: 4098) void WndProc_OnDestroy(HWND hWnd) { // Уничтожаем орган управления Rich Edit if(hwndEdit) DestroyWindow(hwndEdit);

// Освобождаем библиотеку RICHED32.DLL if(hRTFLib) FreeLibrary(hRTFLib);

PostQuitMessage(0); return 0L; }

// ----------------------------------------------------- // Функция WndProc_OnCommand // ----------------------------------------------------- #pragma warning(disable: 4098) void WndProc_OnCommand(HWND hWnd, int id, HWND hwndCtl, UINT codeNotify) { CHARFORMAT cf; CHOOSEFONT chfnt; LOGFONT lf; HDC hDC; PARAFORMAT pf;

switch (id) { // Изменяем жирность символов case ID_FORMAT_BOLD: { cf.cbSize = sizeof(cf);




Содержание  Назад  Вперед