КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Основные элементы управления
Создание консольного приложения Порядок создания консольного приложения: 1. Выполним команду New/Project/Win32 Console Application. 2. Введем в поле Project Name имя программы (Privet) и нажмем кнопку OK. 3. Выберем тип программы A simple application и нажмем кнопку Finish. 4. Выберем в списке объект main и откорректируем функцию: #include "stdafx.h" #include "stdio.h" //подключение библиотеки ввода-вывода int main(int argc, char* argv[]) {printf("\nHello!\n"); return 0;} 5. Для выполнения программы нажмем клавишу: ^F5. Рассмотрим пример создания диалогового приложения с различными управляющими элементами (рис. 7.2.1). Рис. 7.2.1. Диалоговое окно с примером
1. Создадим папку для хранения приложения. 2. Выполнить команду New/Project/MFC AppWizard (exe). 3. Введем в поле Project Name имя программы Prim и нажмем кнопку OK. 4. На первом шаге мастера выберем вариант создания диалогового приложения (Dialog based) и нажмем кнопку Next. 5. Последовательно пройдем все остальные шаги мастера (всего четыре шага) и нажмем кнопку Finish. Сформируется заготовка окна. 6. Удалим с формы текст TODO: Place dialog control here. 7. Выполним команду Properties контекстного меню элемента Prim resources/Dialog/IDD_Prim_Dialog и в поле Language выберем Russian. 8. В окне свойств формы зададим наименование формы Пример использования управляющих элементов (свойство Caption), размер и наименование соответствующего шрифта установим кнопкой Font. 9. Разместим элемент Static Text (Caption =Текстовое поле). 10. Разместим элемент Text Box (IDC_EDIT1). 11. Аналогично создадим заголовок (Счетчик) и поле IDC_EDIT2. 12. Разместим элемент Spin (IDC_SPIN1) рядом с полем IDC_EDIT2 и установим свойства: Alignment=Right (выравнивание справа), Auto buddy (автоматическое подключение связанного элемента, созданного перед счетчиком (IDC_EDIT2)), Set buddy integer (целочисленное значение счетчика), Arrow Keys (изменение значения счетчика с помощью клавиш). Изменим название кнопки Cancel на Отмена. 13. Разместим элемент Combo Box (IDC_COMBO1) под кнопками, щелкнем по кнопке раскрытия списка и перенесем вниз нижнюю часть. На странице Data свойства этого элемента введем (для перехода на следующую строку нажимаются клавиши ^Enter) три строки со значениями 5, 15, 300. Снимем флажок сортировки (Sort) и установим выравнивание текста справа (Right aligned text). 14. Разместим элемент Radio Button (IDC_RADIO1) со свойствами: Caption =Текстовое поле, Group. 15. Аналогично разместим элемент IDC_RADIO2 с надписью Счетчик, но без флажка Group. 16. Разместим снаружи радиокнопок элемент Group Box с надписью Выбор поля для сохранения. 17. Разместим поле CheckBox с надписью Сохранять предыдущее значение. 18. Выполним команду View/ClassWizard и раскроем страницу Member Variable (рис. 7.2.2). Выделим ресурс IDC_EDIT2, нажмем кнопку Add Variable и заполним окно с описанием переменной m_chethik (рис. 7.2.2). Рис. 7.2.2. Страница переменных и окно добавления переменной Аналогичным образом назначим переменные: m_c picok для IDC_COMBO1, m_edit1 для IDC_EDIT1, m_radio1 для IDC_RADIO1, m_check1 для IDC_CHECK1. 19. На странице Message Maps выделим объект IDC_RADIO1, сообщение BN_CLICK и нажмем кнопку Add Member Fuction (рис. 7.2.3); оставим без изменения имя функции, нажмем кнопку OK. Рис. 7.2.3. Страница сообщений и окно добавления функции обработки сообщения
20. Аналогичным образом определим функции обработки сообщений: UDN_DELTAPOS для ресурса IDC_SPIN1, BN_CLICED для IDC_RADIO2, CBN_SELENDOK для IDC_COMBO1. 21. Вставим в тело функций OnSelendokCombo1, OnRadio1, OnRadio2 вызов функции UpdateData() для обновления значений соответствующих переменных путем вызова и выполнения функции DoDataExchange. В конце функции OnDeltaposSpin1 включим оператор pNMUpDown->iDelta=-pNMUpDown->iDelta для установления общепринятого в Office изменения счетчика: стрелка вниз - уменьшение и вверх - увеличение значения счетчика, а не наоборот, как это принято в Visual С. 22. Откорректируем следующие операторы функции (конструктора класса) CprimDlg, которые присваивают начальные значения элементам: m_chethik = _T("5"); m_cpicok = _T("10"); m_edit1 = _T("15"); 23. Приведем функцию DoDataExchange к следующему виду: void CPrimDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT2, m_chethik); // m_chethik=IDC_EDIT2 DDV_MaxChars(pDX, m_chethik, 3); //длина значения m_chethik <=3 DDX_CBString(pDX, IDC_COMBO1, m_cpicok); DDV_MaxChars(pDX, m_cpicok, 3); //длина значения m_cpicok <=3 DDX_Text(pDX, IDC_EDIT1, m_edit1); // m_edit1=IDC_EDIT1 DDX_Radio(pDX, IDC_RADIO1, m_radio1); // m_radio1=IDC_RADIO1 DDX_Check(pDX, IDC_CHECK1, m_check1); // m_check1=IDC_CHECK1 if (m_check1) { switch (m_radio1) //значения переменных->в управляющие элементы { case 0: SetDlgItemText(IDC_EDIT1,m_cpicok); break; case 1: SetDlgItemText(IDC_EDIT2,m_cpicok); } } } 24. Сохраним проект и нажмем кнопку Execute Program для выполнения программы.
Дата добавления: 2014-12-08; Просмотров: 710; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |