Создание консольного приложения
Порядок создания консольного приложения: 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 для выполнения программы. Списки Продолжим формирование предыдущего примера. 1. Разместим элементы List Box (IDC_LIST1), Edit Box (IDC_EDIT3), Button (IDC_Add, Добавить), Button (IDC_Delete, Добавить) и надписи (Static Text) Список, Элемент списка (рис. 7.2.1). 2. Назначим переменные m_edit3 (для элемента IDC_EDIT3), m_list1 (категории Control для элемента IDC_LIST1). 3. Добавим функции OnAdd и OnDelete формирования сообщений BN_CLICKED (обработки щелчков мышки) для кнопок Добавить и Удалить и функцию OnDblclkList1 (обработка двойных щелчков мышки на поле со списком) формирования сообщения LBN_DBLCLK для IDC_LIST1. 4. Нажмем кнопку Edit Code и откорректируем.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|