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

ЖАНРЫ

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

Панель Minimize и Maximaze отмечены для того, чтобы вы могли свертывать окно и наоборот рассматривать его во весь экран. Для их установки вам необходимо зайти в Dialog Box Propertions и на странице Styles отметить их.

Edit Box — это окно редактирования, в нем вы можете вводить свой текст. Мы не задавали этому элементу никаких дополнительных параметров, нам необходимо только знать его идентификатор (IDС_ТЕSТ_ЕDIТ).

• В следующем пункте Group Box, который служит для выделения элементов управления в рамку. Этот элемент выглядит так:

Вы

указали для этого элемента название (Сарtion) Test и идентификатор IDC_STATIC.

Static Text — это элемент текста, он вставляется как обычный элемент управления, но не выполняет ни каких функций, так как служит для показа текста, который вы зададите в Captions. В данном случае мы вставляем инструкцию по применению программы: INSTRUCTIONS: То execute…. Вы, наверное, заметили, что этот элемент имеет такой же идентификатор, как и у Group Box, так как мы не будем их использовать в программе и связывать с ними события(хотя это и невозможно).

• Следующие два элемента Check Box с Captions &Visible и &Enable, будут служить для скрытия окна редактирования и закрытия доступа к окну редактирования, и наоборот. Если они включены, то окно видимо и есть к нему доступ, и наоборот. При запуске программы они должны будут быть отмечены. Для этого в дальнейшем мы напишем специальный код.

• Затем идут три кнопки Test, Clear и Exit. При нажатии на кнопку Test в окне редактирования появляется текст: This is a Test, а при нажатии на кнопку Clear, окно редактирования очищается. Кнопка E&xit, служащая для завершения программы, имеет еще дополнительные параметры, которые можно включить на странице Extended Styles. Они служат для разнообразного обрамления, выделения.

Поздравляю, вы закончили визуальное проектирование диалоговой панели!

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

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

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

• Также нам необходимо связать переменные с флажками, чтобы управлять ими и получать текущие состояния: включено, выключено.

А теперь зайдите в View->ClassWizard и выберете в закладках Member Variables. В этом пункте вы можете связывать переменные с элементами управления.

Ваше окно сейчас должно быть выглядеть так:

Теперь рассмотрим эту закладку.

Project — название вашего проекта.

Class Name — название класса, элементы которого вы будете связывать с переменными. Убедитесь в том, чтобы был выбран класс CTestDIg, потому что именно он отвечает за диалоговую панель, которую вы только что проектировали.

Control IDs — названия элементов управления, с которыми можно связать переменные.

Туре — тип переменной, которую вы связываете с элементом диалога.

Member — название переменной, которую вы связываете с элементом диалога.

Выберем в списке 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, если только вы не установили фокус на элемент управления

}

Поделиться с друзьями: