Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Практична робота № 4
Створення додатку на основі діалогових вікон. Мета роботи: навчитися створювати діалогові додатки для роботи х текстовими полями та кнопками. ХІД РОБОТИ: Створіть діалоговий додаток dialog. Додайте кнопку Down me та текстове поле(Edit box). 1.1 Зв’язування методів з елементами діалогового вікна. При натисненні на кнопку Down me в текстовому полі з’являється напис «Practical work№ 4». Насамперед необхідно визначити момент натиснення кнопки. Створіть функцію для обробки при одноразовому натисненні на кнопку void CDialogDlg:: OnButton1() { // TODO: Add your control notification handler code here
} Отже, цей метод буде викликатися при натисненні на кнопку Down me. 1.2 Зв’язування змінних з елементами діалогових вікон. Змінні зв’язуються з елементами за допомогою ClassWizard. Запустіть майстер і перейдіть на вкладку Member Variables. Впевніться, що обраний класс діалогового вікна CDialogDLg, потім виділіть ідентифікатор текстового поля IDC_EDIT1 та натисніть кнопку Add Variable. Відкривається вікно Add Member Variable. Занесіть в поле Member variable name рядок m_text і простежте, щоб у списку Category був обраний пункт Value, а в списку Variable type– Cstring. Зверніть увагу, що у вікні майстра з’явилась нова змінна. Змінна для роботи з текстовим полем готова. Тепер можна задати зміст текстового поля в методі OnButton1(). void CDialogDlg:: OnButton1() { // TODO: Add your control notification handler code here m_text=" Practical work 4"; } На даний момент – це просте присвоєння змінної, що не змусить текст зявитися у текстовому полі. Обмін інформацією між змінною і елементом IDC_EDIT1 виконується у спеціальному методі, включеному Class Wizard в клас діалогового вікна. void CDialogDlg:: DoDataExchange(CDataExchange* pDX) { CDialog:: DoDataExchange(pDX); //{{AFX_DATA_MAP(CDialogDlg) DDX_Text(pDX, IDC_EDIT1, m_text); //}}AFX_DATA_MAP } Залишається лише простежити за своєчасним обновленням текстового поля. Для цього слід визвати метод UpdateData(): void CDialogDlg:: OnButton1() { // TODO: Add your control notification handler code here m_text=" Practical work 4"; UpdateData(false); } Виклик цього методу з параметром false заносить в текстове поле значення змінної m_text. Виклик з параметром true присвоює змінній m_text вміст текстового поля. Запустіть додаток.
|