Графический интерфейс GDI в Microsoft Windows


           

Завершаем работу приложения case CM_FILEEXIT:


case CM_HELPABOUT: { MessageBox(hwnd, "Font Viewer, v.1.0\n" "(C) Frolov A.V., 1994", "About FONTVIEW", MB_OK | MB_ICONINFORMATION); return 0; }

// Завершаем работу приложения case CM_FILEEXIT: { DestroyWindow(hwnd); return 0; }

default: return 0; } }

case WM_DESTROY: { PostQuitMessage(0); return 0; }

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

// ===================================== // Функция GetFont // =====================================

BOOL GetFont(HWND hWnd, LOGFONT *lf, CHOOSEFONT *cf) { LPSTR szFontStyle[LF_FACESIZE];

// Записываем нулевые значения во все поля // структуры, которая будет использована для // выбора шрифта memset(cf, 0, sizeof(CHOOSEFONT));

// Размер структуры cf->lStructSize = sizeof(CHOOSEFONT);

// Идентификатор окна cf->hwndOwner = hWnd;

// Указатель на структуру LOGFONT cf->lpLogFont = lf;

// Флаги, определяющие внешний вид диалоговой панели cf->Flags = CF_SCREENFONTS | CF_USESTYLE | CF_EFFECTS;

// Дополнительные данные cf->lCustData = 0L;

// Цвет текста cf->rgbColors = RGB(0,0,0);

// Адрес функции фильтра cf->lpfnHook = (FARPROC)NULL;

// Адрес шаблона диалоговой панели cf->lpTemplateName = (LPSTR)NULL;

// Идентификатор копии приложения cf->hInstance = hInst;

// Стиль шрифта cf->lpszStyle = (LPSTR)szFontStyle;

// Тип шрифта cf->nFontType = SCREEN_FONTTYPE;

// Ограничения на минимальный и максимальный // размер шрифта cf->nSizeMin = 0; cf->nSizeMax = 0;

// Вызываем функцию выбора шрифта return ChooseFont(cf); }

Текстовая строка, которая выводится на экран, находится в глобальном массиве szChars. В переменной nOrientation находится текущее значение угла поворота, которое задается при помощи меню "Orientation".

Обработчик сообщения WM_PAINT пользуется структурой lf типа LOGFONT, подготовленной при выборе шрифта.

Перед созданием шрифта обработчик устанавливает нужный угол наклона строки:

lf.lfOrientation = lf.lfEscapement = nOrientation;


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