Программирование под Win32


Программирование для Windows с помощью библиотеки объектов OWL - стр. 27



Обработка сообщения WM_PAINT и интерфейс GDI                                                237

TFont(const char far*   facename=0,//Имя шрифта

int height=0,                                //Высота

int width=0,                                  //Средняя ширина

int  escapement=0,                    //Угол наклона  в  1/10 градуса

int orientation=0,                       //He используется

int weight=FW_NORMAL,        //Жирность

uint8 pitchAndFamily=DEFAULT_PITCH|FF_DONTCARE,//Шаг и семейство

uint8  italic=false,                    //Курсив

uint8  underline=false,      //Подчеркивание

uint8  strikeout=false,      //Перечеркивание

uint8  charSet=1,                        //Набор символов

uint8  outputPrecision=OUT_DEFAULT_PRECIS, //Требуемая точность  соответствия uint8  clipPrecision=CLIP_DEFAULT_PRECIS,//Способ вырезки части символа uint8  quality=DEFAULT_QUALITY);/1Качество

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

TFont  font("Times New Roman",14);//Создаем шрифт для цифр под осью X dc.SelectObject(font);//Выбираем в контекст созданный шрифт

В приведенном фрагменте создается шрифт с именем Times New Roman размером 14 пунктов, который затем будет использован для вывода цифр масштаба. Остальные параметры принимаются по умолчанию.

Для надписывания графиков удобно использовать наклонные строки. Поэтому при создании трех следующих шрифтов (font1, font2 и font3) указываются уже не два, а четыре параметра, последний из ко­торых определяет наклон строк текста. Наклон экспериментально подобран так, чтобы надписи выводи­лись параллельно соответствующим графикам.

В определение шрифта не входит его цвет, для которого в контексте устройства предусмотрена от­дельная переменная, устанавливаемая функцией TDC::SetTextColor(). В отличие от процедуры загрузки в контекст устройства дескрипторов инструментов, в которой, как отмечалось выше, предусмотрено авто­матическое сохранение исходного дескриптора, для цвета шрифта такая операция не предусмотрена. По­этому если мы хотим в какой-то точке программы вернуться к исходному черному цвету шрифта, надо либо сохранить исходный цвет, либо в нужном месте установить его явным образом. В примере иллюст­рируется методика сохранения исходного цвета, который возвращается функцией SetTextColor(). В конце программы сохраненный дескриптор prevColor (типа TColor) снова загружается в контекст устройства, в результате чего подпись под графиком выводится черного цвета. При вызове конструктора логического шрифта для этой подписи (объект font4) указывается в общей сложности 8 параметров: имя шрифта, раз­мер в пунктах, константа FW_BOLD, образующая полужирное начертание и значение true для последне­го параметра, определяющее курсивное начертание.




Начало  Назад  Вперед