Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том1)" -> 161

Visual С++ 6. Полное руководство: В 2 т.(том1) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 155 156 157 158 159 160 < 161 > 162 163 164 165 166 167 .. 204 >> Следующая

Таблица 15.3. MFC-классы для манипулирования элементами управления
MFC-класс
Тип и описание элемента управления
CAnimateCtrl
Анимация
Кнопки, флажки, переключатели, рамки
Кнопки, отображаюшие растровые рисунки
Поле со списком
Расширенное поле со списком
Элемент Дата/Время
Поле
Заголовок — окно, размещаемое над столбцами таблицы и
содержащее заголовки столбцов с настраиваемой шириной
(Windows Explorer выводит его при отображении детальной
информации о файлах)
Горячая клавиша
IP-адрес
Список
Список с флажками. Каждый пункт содержит флажок. Например, программа Setup в Visual С++ использует списки с флажками для предоставления пользователю возможности выбора инсталлируемых компонентов
CButton
CBitmapButton CComboBox
CComboBoxEx
CDateTimeCtrl
CEdit
CHeaderCtrl
CHotKeyCtrl CIPAddressControl
CListBox
CCheckListBox
Окончание табл. 15.3.
MFC-класс
Тип и описание элемента управления
CDragListBox
CListCtrl
CMonthCalCtrl
COleControl
CProgressCtrl CReBarCtrl
CRichEditCtrl
CScrollBar
CSliderCtrl
CSpinButtonCtrl
CStatic
CStatusBarCtrl
CTabCtrl
CToolbarCtrl
CTooltipCtrl
CTreeCtrl
Перемещаемый список. Позволяет пользователю перемещать отдельные пункты списка для их переупорядочения Окно списка Календарь по месяцам
Элементы управления ActiveX (ранее известные как элементы управления OLE, отсюда и название класса) — многократно используемые компоненты программного обеспечения. Предоставляют программам широкий спектр услуг (гл. 25) Индикатор
Переключаемая панель. Эти элементы управления описаны во врезке "Диалоговые и переключаемые панели" (см. гл. 14) Расширенное поле
Полосы прокрутки: вертикальная или горизонтальная
Регулятор
Счетчик
Надписи, рисунки и рамки Строка состояния. Использование класса CStatusBarCtrl — альтернатива способу создания строк состояния (см. гл. 14)
Набор вкладок. Использование класса CTabCtrl — альтернатива способу создания диалоговых окон с вкладками в программах MFC (далее в этой главе) Панель инструментов. Использование класса ctoolbarCtrl - альтернатива способу создания панелей инструментов в программах MFC (см. гл. 14) Всплывающая подсказка. При создании панели инструментов (см. гл. 14) MFC автоматически реализует всплывающие подсказки
Дерево_
Следующим действием будет завершение программирования обработчиков сообщений, получающих управление при каждом щелчке пользователя на флаге. В файле Format, срр дополните функцию для флажка Bold.
void CFormat::OnBold() {
// TODO: Здесь добавьте собственный код обработчика m_Bold = !m_Bold; InvalidateRect (&m_RectSample) ; UpdateWindow ();
}
Первый оператор переключает значение переменной m_Bold между true и false. Таким образом, если флаг не выбран (и значение mBold равно false), то щелчок на этом элементе управления приведет к его отметке и установке значения переменной mBold равным TRUE. Если флажок выбран, щелчок на нем приведет к удалению отметки и установке значения переменной равным FALSE.
Второй добавленный оператор делает недействительной (т. е. отмечает для перерисовки) часть диалогового окна, занятую рамкой Sample, а третий — приводит к непосредственному вызову функции OnPaint класса диалогового окна. Затем функция OnPaint отображает текст в новом формате (позднее мы напишем для этого код).
Теперь добавьте обработчики сообщений для флажков Italic и Underline.
void CFormat::0nltalic() {
// TODO: Здесь добавьте собственный код обработчика m_Italic = !m_Italic; InvalidateRect (&m_RectSanrple) ; UpdateWindow ();
}
// . . .
void CFormat::OnUnderline() {
// TODO: Здесь добавьте собственный код обработчика m_Underline = !mJUnderline; InvalidateRect (&m_RectSample); UpdateWindow ();
}
Обработчики сообщений для переключателей:
void CFormat::OnCenter() {
// TODO: Здесь добавьте собственный код обработчика if (IsDlgButtonChecked (IDC_CENTER)) {
m_Justify = JUSTIFY_CENTER; InvalidateRect (&m_RectSample); UpdateWindow (); )
}
void CFormat::OnFixed() {
// todo: Здесь добавьте собственный код обработчика if (IsDlgButtonChecked (IDC_FIXED)) {
m_Pitch = PITCH_FIXED; InvalidateRect (&m_RectSample); UpdateWindow (); )
}
void CFormat: :OnLeft() {
// TODO: Здесь добавьте собственный код обработчика if (IsDlgButtonChecked (IDC_LEFT)) {
m_Justify = JUSTIFY_LEFT;
InvalidateRect (&m_RectSample); UpdateWindow ();
}
}
void CFormatOnRight() j
// TODO: Здесь добавьте собственный код обработчика if (IsDlgButtonChecked (IDCJRIGHT)) {
m_Justify = JUSTIFY_RIGHT; InvalidateRect (&m_RectSample); UpdateWindow (); )
}
// . . .
void CFormat: :OnVariable( ) {
// TODO: Здесь добавьте собственный код обработчика if (IsDlgButtonChecked (IDC_VARIABLE)) {
m_Pitch = PITCH_VARIABLE;
InvalidateRect (&m_RectSample); UpdateWindow ();
}
}
Каждая из этих функций вызывает функцию CWnd: : IsDlgButtonChecked, чтобы убедиться, что переключатель выбран. (Обработчик вызывается при каждом щелчке на переключателе и его выборе, а также при нажатии на клавишу табуляции, когда фокус ввода перемещается на переключатель, но последний не выбирается.) Если переключатель установлен, то обработчик присваивает его номер соответствующей переменной (m_Justify или m_Pitch). Использование этих переменных описано ниже.
Предыдущая << 1 .. 155 156 157 158 159 160 < 161 > 162 163 164 165 166 167 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100