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

 

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

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

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

Функции MFC для управления диалоговыми окнами
Класс диалогового окна порождается от класса CDialog, который, в свою очередь, порождается от класса CWnd. Оба эти класса предоставляют функции для управления диалоговыми окнами, которые можно вызвать из класса диалогового окна. Эти функции можно использовать в дополнение к функциям MFC-классов элементов управления (таким, как класс CEdit). Некоторые из данных функций
воздействуют на отдельные элементы управления, находящиеся в диалоговом окне, другие — на группы элементов управления, а остальные — непосредственно на диалоговые окна. Обычно эти функции вызываются из обработчиков сообщений класса диалогового окна, получающих управление при отображении данного окна.
Функции класса CWnd перечислены в табл. 15.4, а функции CDialog - в табл. 15.5. Подробная информация о них приведена в следующих разделах справочной системы: Visual С++ Documentation, Reference, Microsoft Foundation Class Library and Templates, Microsoft Foundation Class Library, Class Library Reference, CWnd and CDialog.
Таблица 15.4. Функции класса cwnd для управления диалоговыми окнами
Функция Назначение
CheckDlgButton Выбирает или отменяет выбор флажка или
переключателя
CheckRadioButton Выбирает указанный переключатель и отменяет
выбор остальных переключателей в указанном наборе
DlgDirList Добавляет имена файлов, каталогов или дисков в
список
DlgDirListComboBox Добавляет имена файлов, каталогов или дисков в
поле со списком
Dj gDirSelect Получает имя текущкего, выбранного в списке,
файла, каталога или диска
D]gDirSelectComboBox Получает имя текущего, выбранного в поле со
списком, файла, каталога или диска
GetCheckedRadioButton Возвращает идентификатор выбранного
переключателя в указанном наборе переключателей
GetDlgltem Возвращает указатель на временный объект для
заданного элемента управления
G etDlgltemlnt Возвращает числовое значение, представленное в
текстовом виде в указанном элементе управления
GetDlgltemText. Получает текст, отображаемый внутри элемента
управления
Ge tWextDlgGroupItem Возвращает указатель на временный объект для
следующего (или предыдущего) элемента управления
внутри группы
GetNextDlgTabltem Возвращает указатель на временный объект для
следующего элемента управления (в порядке обхода),
которому задано свойство Tab Stop
IsDlgButtonChecked Возвращает статус отметки флажка или
переключателя
SendDlgItemM.es s age Посылает сообщение элементу управления
SetDlgltemlnt Преобразовывает целое число в текст и передает его
элементу управления
SetDlgltemText Задает текст, отображаемый элементом управления
Таблица 15.5. Функции класса CDialog для
манипулирования диалоговыми окнами и элементами управления
Функция Назначение
EndDialog Закрывает модальное диалоговое окно
GetDefID Возвращает идентификатор кнопки внутри диалогового окна,
которая в данный момент является кнопкой по умолчанию
GotoDlgCtrl Передает фокус ввода указанному элементу управления
внутри диалогового окна
MapDialogRect Преобразует координаты элемента управления из единиц
диалогового окна в экранные
NextDlgCtrl Передает фокус ввода следующему в порядке обхода элементу
управления
PrevDlgCtr1 Передает фокус ввода предыдущему в порядке обхода
элементу управления
SetDefID Делает указанную кнопку кнопкой по умолчанию
Теперь добавьте приведенный ниже фрагмент программы в функцию OnChangeSpacing, получающую управление при изменении содержимого поля Line Spacing.
void CFormat::OnChangeSpacing() {
// TODO: Здесь добавьте собственный код обработчика int Temp;
Temp = (int) GetDlgltemlnt (IDC_SPACING); if (Temp > 0 && Temp < 4) {
m_Spacing = Temp;
InvalidateRect (&m_RectSample) ;
UpdateWindow ();
}
}
Функция OnChangeSpacing вызывает функцию CWnd::GetDlgltemlnt, чтобы получить содержимое поля в виде целочисленного значения. Если оно находится в допустимом диапазоне, функция сохраняет его в переменной mSpacing и образец текста перерисовывается.
Наконец, необходимо добавить код в функцию OnPaint, вызываемую, когда один из обработчиков сообщения признает недействительной область диалогового окна или когда требуется перерисовать диалоговое окно из-за внешнего события (например, перемещая перекрывающее его окно).
void CFormat: :OnPaint() {
CPaintDC de(this); // контекст устройства для рисования
// TODO: Здесь добавьте собственный код обработчика CFont Font; LOGFONT LF;
int LineHeight; CFont *Ptr01dFont; int X, Y;
// заполнение структуры LF свойствами // стандартного системного шрифта: CFont TempFont; if (m_Pitch == PITCH_VARIABLE)
TempFont.CreateStockObject (SYSTEM_FONT); else
TempFont.CreateStockObject (SYSTEM_FIXED_FONT); TempFont.GetObject (sizeof (LOGFONT), &LF);
// теперь инициализируем поля lfWeight, IfItalic // и lfUnderline: if (m_Bold)
LF. lfWeight = FW_BOLD; if (m_Italic)
LF.IfItalic = 1; if (m_Underline)
LF.lfUnderline = 1;
// создание и выбор шрифта: Font.CreateFontlndirect (&LF); PtrOldFont = dc.SelectObject (SFont);
// задаем выравнивание: switch (m_Justify) {
Предыдущая << 1 .. 156 157 158 159 160 161 < 162 > 163 164 165 166 167 168 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100