Чтение онлайн

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №1
Шрифт:

Выберем в списке Control IDs идентификатор IDC_TEST_EDIT и щелкнем на кнопку Add Varible, выведется такое диалоговое окно:

Рассмотрим его:

Member Varible Name — название переменной, с которой вы хотите связать элемент управления.

Category — здесь вы можете выбрать категорию переменной. К примеру, Value — это категория

переменной, предназначенная для передачи значения переменной Control — а это категория предназначена для управления элементами. К примеру, с помощью переменной такой категории можно менять названия кнопок, добавлять строки в ListBox и многое др.

Varible Туре — это тип переменной.

В Member Varible Name зададим название — m_TestEdit и нажмем кнопку ОК.

Вы связали окно редактирования с переменной m_TestEdit, с помощью которой вы получите доступ к окну редактирования.

Теперь свяжем флажки с переменными, для этого выберем в Member Varible идентификатор IDC_ENABLE_CHECK и нажмем на кнопку Add Varible. Зададим название переменной — m_EnableCheck. Посмотрите, эта переменная имеет категорию Value и тип BOOL. Переменная типа BOOL может принимать два значения TRUE и FALSE. TRUE — правда, a FALSE — ложь. Если флажок отмечен, то переменная будет иметь значения TRUE, а если нет — FALSE.

Теперь выберете в закладке Member Varible идентификатор IDC_VISIBLE_CHECK и нажмем на кнопку Add Varible. Зададим название переменной — m_VisibleCheck.

Вы закончили связывание переменных с окном редактирования и флажками

Связывание событий с элементами управления

Код, инициализирующий окно редактирования

• При запуске программы, основанную на диалоге, вам нужно установить определенные значения некоторых элементов управления. Вам необходимо, чтобы флажки Visible и Enable были отмечены, иначе окна редактирования не будет видно. Для этого выполните следующие действия:

• Зайдите в View->ClassWizard,откройте закладку Message Maps.

• В Message IDs выберете CTestDIg, в Messages появится список событий, с которыми может быть связано диалоговое окно. Выберете там событие WM_INITDIALOG. Оно происходит, когда запускается программа и инициализируется диалоговое окно.

• Щелкнете на кнопку Add Function, а затем нажмите на кнопку Edit Code, для редактирования исходного кода.

Функция OnlnitDialog уже содержит часть кода написанного VC++. Найдите в нем коментарий //TODO: Add extra initialization here, который сообщает нам, что после него мы можем добавить свой код.

Напишите следующий код в функции OnlnitDialog:

BOOL CTestDIg::OnInitDialog

{

CDialog::OnInitDialog;

// TODO: Add extra initialization here

//Добавьте свою инициализацию

////////Мой код начинается здесь///////////

//Установить переменную флажка VisibleCheck и EnabledCheck

в состояние

//TRUE

m_VisibieCheck=TRUE;

m_EnabieCheck=TRUE;

//Обновить экран UpdateData(FALSE);

////////Мой код заканчивается здесь///////////

return TRUE; // Вернуть TRUE, если только вы не установили фокус на элемент управления

}

• Рассмотрим код:

• Первый и второй операторы, который которые вы ввели присваивают переменным m_VisibleCheck и m_EnableCheck значение TRUE. Это означает, что при запуске программы флажки будут отмечены.

• Последний оператор UpdateData(FALSE) обновляет экран, т. е. он обновляет значения переменных элементов управления на текущие. В нашем случае, при выполнении этого оператора текущие содержимое переменных связанных с флажками будет передано к ним.

• Теперь для того, чтобы посмотреть инициализирующий код в действии выполните программу.

Главное окно вашей программы должно будет выглядеть так:

Флажки должны быть отмечены.

Связывание кода с событием BN_CLICKED кнопки Exit

При нажатии на кнопку Exit программа Test.Exe завершится.

Чтобы связать код с событием BN_CLICKED кнопки EXIT, выполните следующие действия:

• Выберете ClassWizard в меню View

• Выберете закладку Message Maps в панели ClassWizard

• Используйте диалоговую панель ClassWizard для выбора следующего события:

Class Name: CTestDIg

Object ID: IDC_EXIT_BUTTON

Messages: BN_CLICKED

• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.

Сейчас ваша панель MFC ClassWizard должна будет выглядеть так:

• Нажмите кнопку Edit Code и напишите следующий код в функции OnExitButton:

void CTestDig "OnExitButton

{

// TODO: Add your control notification handler code here

////////Мой код начинается здесь///////////

ОnОК;

////////Мой код заканчивается здесь///////////

}

• Функция ОnОК, которую вы ввели завершает программу, при нажатии на кнопку Exit.

Связывание кода с событием BN_CLICKED кнопки Test

При нажатии на кнопку Test программа Test.Exe в окне редактирования напишет текст: This is a Test

Чтобы связать код с событием BN_CLICKED кнопки Test, выполните следующие действия:

Поделиться:
Популярные книги

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Вернуть невесту. Ловушка для попаданки

Ардова Алиса
1. Вернуть невесту
Любовные романы:
любовно-фантастические романы
8.49
рейтинг книги
Вернуть невесту. Ловушка для попаданки

Истинная поневоле, или Сирота в Академии Драконов

Найт Алекс
3. Академия Драконов, или Девушки с секретом
Любовные романы:
любовно-фантастические романы
6.37
рейтинг книги
Истинная поневоле, или Сирота в Академии Драконов

Неудержимый. Книга XVI

Боярский Андрей
16. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVI

Попаданка в академии драконов 2

Свадьбина Любовь
2. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
6.95
рейтинг книги
Попаданка в академии драконов 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Девочка-лед

Джолос Анна
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Девочка-лед

Сотник

Ланцов Михаил Алексеевич
4. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Сотник

Эволюционер из трущоб

Панарин Антон
1. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб

Новые горизонты

Лисина Александра
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Новые горизонты

Возвышение Меркурия

Кронос Александр
1. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия

Скандальный развод, или Хозяйка владений "Драконье сердце"

Милославская Анастасия
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Скандальный развод, или Хозяйка владений Драконье сердце

Курсант: Назад в СССР 7

Дамиров Рафаэль
7. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 7

Шериф

Астахов Евгений Евгеньевич
2. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
6.25
рейтинг книги
Шериф