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


           

Приложение FONTVIEW


Для того чтобы вы могли быстро попробовать основные функции, предназначенные для выбора шрифта, мы подготовили приложение FONTVIEW.

Меню "Font" приложения FONTVIEW позволяет вам выбрать шрифт двумя способами - вы можете указать семейство шрифта или выбрать конкретный шрифт при помощи диалоговой панели "Font".

Меню "Orientation" позволяет задать угол поворота текстовой строки, выводя ее с наклоном (рис. 5.3) или даже перевернутой "вверх ногами" (рис. 5.4).

Рис. 5.3. Вывод текста с наклоном

С помощью этого приложения вы можете убедиться в том, что повернуть можно только масштабируемые шрифты True Type.

Рис. 5.4. Вывод перевернутого текста

Исходный текст приложения приведен в листинге 5.1.

Листинг 5.1. Файл fontview/fontview.cpp

// ---------------------------------------- // Приложение FONTVIEW // Просмотр шрифтов // ----------------------------------------

#define STRICT #include <windows.h> #include <windowsx.h> #include <commdlg.h> #include <mem.h> #pragma hdrstop

#include "fontview.hpp"

// Прототипы функций BOOL InitApp(HINSTANCE); LRESULT CALLBACK _export WndProc(HWND, UINT, WPARAM, LPARAM); BOOL GetFont(HWND hWnd, LOGFONT *lf, CHOOSEFONT *cf);

// Имя класса окна char const szClassName[] = "FontViewClass";

// Заголовок окна char const szWindowTitle[] = "Font Viewer";

// Размеры внутренней области окна short cxClient, cyClient;

// Идентификатор копии приложения HINSTANCE hInst;

// Строка для вывода char szChars[] = ": AaBbCcDdEeFfGg АаБбВвГгДдЕе"; char szBuf[256];

// Угол наклона строки при выводе int nOrientation = 0;

// ===================================== // Функция WinMain // ===================================== #pragma argsused

int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { MSG msg; // структура для работы с сообщениями HWND hwnd; // идентификатор главного окна приложения

// Инициализируем приложение if(!InitApp(hInstance)) return FALSE;



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