C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 4.35.2 - Выбор шрифта / Cтандартные диалоговые окна / Win32 API

4.35.2 - Выбор шрифта

Эта статья описывает типовой код, который отображает диалоговое окно Шрифт (Font), так что пользователь может выбрать атрибуты шрифта. Типовой код сначала инициализирует структуру CHOOSEFONT, а затем вызывает функцию ChooseFont, которая отображает диалоговое окно.

Этот пример устанавливает флажок CF_SCREENFONTS, чтобы определить какое диалоговое окно будет показывать только экранные шрифты. Он устанавливает флажок CF_EFFECTS, чтобы отобразить элементы управления, которые позволяют пользователю выбрать параметры зачёркивания, подчёркивания и цвета шрифта.

Если ChooseFont, возвращает значение ИСТИНА (TRUE) то это указывает на то, что пользователь щёлкнул мышью по кнопке OK, что структура LOGFONT, указанная элементом lpLogFont структуры CHOOSEFONT содержит информацию, которая описывает шрифт и отличительные признаки шрифта, выбранные пользователем. Элемент rgbColors содержит выбранный цвет текста. Типовой код использует эту информацию, чтобы установить шрифт и цвет текста для контекста устройства связанного с окном владельца.

HWND hwnd;                			// окно владельца
HDC hdc;                  			// показываем контекст устройства окна владельца
CHOOSEFONT cf;            			// структура стандартного диалогового окна
static LOGFONT lf;        			// структура логического шрифта
static DWORD rgbCurrent;			// текущий цвет текста
HFONT hfont, hfontPrev;
DWORD rgbPrev;

// Инициализация CHOOSEFONT
ZeroMemory(&cf, sizeof(CHOOSEFONT));
cf.lStructSize = sizeof (CHOOSEFONT);
cf.hwndOwner = hwnd;
cf.lpLogFont = &lf;
cf.rgbColors = rgbCurrent;

cf.Flags = CF_SCREENFONTS | CF_EFFECTS;

if (ChooseFont(&cf)==TRUE) 
{
	hfont = CreateFontIndirect(cf.lpLogFont);
	hfontPrev = SelectObject(hdc, hfont);
	rgbCurrent= cf.rgbColors;
	rgbPrev = SetTextColor(hdc, rgbCurrent);
	.
	.
	.
}

| |
Автор Владимир Соковиков.
[AD]