
- •Управление обменом и проверкой данных
- •Функции класса cWnd для манипулирования элементами управления диалогового окна
- •Связывание методов класса диалогового окна с элементами управления
- •Использование шрифтов в диалоговом окне
- •Некоторые стандартные шрифты Windows
- •Некоторые константы выравнивания текста
- •Задание 2. Создание класса диалогового окна и связывание его методов и атрибутов с элементами управления
- •Задание 3. Определение обработчиков сообщений, генерируемых элементами управления
- •Обработчики сообщения bn_clicked приложения FontDemo
- •Задание 4. Отображение диалогового окна и данных в его элементах управления
- •Задание 5. Отображение текста в окне представления в соответствии с выбранными в диалоговом окне атрибутами
Некоторые стандартные шрифты Windows
Значение константы |
Смысл |
ANSI_FIXED_FONT |
Системный шрифт с фиксированной шириной литер |
ANSI_VAR_FONT |
Системный шрифт пропорциональный |
DEVICE_DEFAULT_FONT |
Аппаратно-зависимый шрифт |
SYSTEM_FONT |
Системный шрифт для меню, элементов управления диалоговых окон |
Для определения структуры данных, чей тип зависит от типа GDI-объектов, используется функция CGdiObject::GetObject(), прототип которой показан ниже. Функция возвращает количество байтов, выделяемых для структуры, и заполняет буфер данными, которые определяются GDI-объектом.
int CGdiObject::GetObject( int nCount, LPVOID lpObject );
Параметр nCount определяет количество байтов, которые копируются в буфер; lpObject — указатель на буфер, который получает информацию.
Для работы с текстом класс CDC имеет большое количество функций. Для вывода текста в окно представления используется функция CDC::TextOut(), которая выводит заданный текст в логических координатах. Прототипы функций показаны ниже.
virtual BOOL CDC::TextOut(int x,int y,LPCTSTR lpszString,int nCount); BOOL CDC::TextOut( int x, int y, const CString& str );
Функции имеют такие параметры: x, y — логические координаты, lpszString — указатель на выводимую строку, nCount — количество байтов в строке, str — ссылка на объект класса CString, который содержит выводимые символы.
Для выравнивания текста используют функцию CDC::SetTextAlign(), которая имеет такой формат.
UINT CDC::SetTextAlign( UINT nFlags );
Функция возвращает установки предыдущего выравнивания текста. В функцию передаются аргументы в виде флажков, заданных константами выравнивания в соответствии с табл. 6.6.
Т а б л и ц а 6.6
Некоторые константы выравнивания текста
Константа |
Назначение |
TA_CENTER |
Горизонтальное выравнивание по центру |
TA_LEFT |
Горизонтальное выравнивание по левому краю |
TA_RIGHT |
Горизонтальное выравнивание по правому краю |
TA_BOTTOM |
Вертикальное выравнивание по нижнему краю |
TA_TOP |
Вертикальное выравнивание по верхнему краю |
Вывод текста может изменить фон, на котором текст отображается. Для управления цветом фона при отображении текста используется функция CDC::SetBkMode(). В функцию передается режим вывода текста, который принимает два значения: TRANSPARENT — фон не изменяется перед выводом текста и OPAQUE — фон заполняется текущим цветом фона (используется по умолчанию). Прототип функции следующий.
int CDC::SetBkMode( int nBkMode );
Для управления длиной текста в элементе управления типа CEdit используют функцию CEdit::LimitText(), параметром которой является длина вводимого пользователем текста в байтах.
Все рассмотренные выше функции вызываются в функции CFormatDlg::OnPaint().