Интернет-журнал 'Домашняя лаборатория', 2007 №1 - Цыбанова
Шрифт:
Интервал:
Закладка:
План урока:
1) Создание проекта программы
2) Визуальное проектирование диалоговой панели
3) Связывание переменных с окном редактирования и флажками
4) Связывание элементов управления с событиями
5) Резюме, Упражнение и ответ к упражнению.
Теперь рассмотрим все пункты по порядку.
• Вначале запустим Visual C++. Зайдем в меню FILE —> NEW…, выберем там Project. Ваша панель должна выглядеть теперь так:
• Выберем там MFC AppWizard(exe), это значит вы хотите создать запускаемый файл.
• В Project Name задайте имя программы Test. И щелкните ОК.
• В раскрывшемся окне(SТЕР1) выберете Dialog Based. Это означает, что ваша программа будет основана на диалоге. Щелкните Next.
• В STEP2 задайте в Please enter title of your dialog имя программы The Test Program.
Остальное оставьте без изменения и нажмите NEXT.
• В STEP3 Оставьте все без изменения и щелкните NEXT. Здесь вы указали, что ваша программа будет иметь библиотеку с динамической компоновкой (DLL), а не статической.
• В STEP4 Оставьте все без изменения. Посмотрите, чтобы в Class Name было выбрано CTestApp и щелкните FINISH.
Вы закончили создание проекта программы!
Все каркасные файлы для вашей программы написал Visual C++, с помощью мастера настроек MFC AppWizard.
MFC — это вещь очень полезная, с помощью нее можно быстро создавать программы, так как все дежурные файлы он пишет сам, что сильно облегчает работу программиста, ведь не писать стандартный набор текста каждый раз!
А теперь мы спроектируем диалоговую панель.
Проектирование диалоговой панели
Сейчас мы визуально спроектируем диалоговую панель. Для этого вначале выберете закладку "Resourse View" и раскройте пункт Hello Resource, как показано на рис. 1.5.
Выполните следующие действия
• Щелкните два раза по надписи IDD_TEST_DIALOG. Справа появится окно проектирования диалоговой панели.
• С помощью панели Controls расставьте элементы, управления как показано на рис. 2.0 и согласно таблице 2.0.
Теперь рассмотрим все пункты по порядку.
• В объекте Dialog Box вы задаете следующие данные:
Caption — название диалогового окна.
Font — здесь вы установили шрифт — System и его размер 10
Панель 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.
Теперь