Как создать с использованием Visual C++ и MFC простое

advertisement
Как с использованием Visual C++ и MFC создать простое диалоговое приложение
1.
Создаем новый проект. Пусть он называется Test.
2.
В во время создания, в диалоге MFC Application Wizard перейдем на страницу Application Type и выберем
там тип приложения Dialog based.
3.
Откроем диалог в редакторе ресурсов.


Откроем закладку Resource View. Oна находится там же, где и Class View и Solution Explorer. (Но
вообще, скорее всего, она в этот момент уже будет открыта).
Два раза щелкнем по пункту в дереве ресурсов
Dialog
IDD_TEST_DIALOG
4.
Диалог выглядит примерно так:
Т.е. на нем сначала одна надпись и 2 кнопки.
5.
Удалим надпись и кнопки. (Для этого выделяем их и жмем Del на клавиатуре).
Замечание: Кнопку Cancel можно оставить – она закрывает приложение, и вс равно может быть нам
полезна (для тех, кому не удобно нажимать на крестик).
6.
Добавим две надписи, два окна ввода и кнопку, чтобы получилось примерно так, как на рисунке:
Для того, чтобы добавить что-то в диалог, надо нажать на вертикальную надпись Toolbox (слева от
диалога). И дальше, в общем, все как обычно:





7.
Выбираем в Toolbox'е элемент управления, который мы хотим добавить.
Щелкаем мышкой в то место, куда мы хотим его добавить.
Стрелами или мышью задаем точное положение и размер.
В надписи и кнопку вписываем нужный текст.
Я еще для красоты уменьшил размер самого окна, но это не обязательно.
Полезно, хотя и не обязательно, изменить идентификаторы окон ввода и кнопки на более осмысленные.
Это можно сделать с помощью окна Properties в правой нижней части экрана.



Выбираем элемент управления
В окне Properties ищем строчку ID
Меняем ее значение
Я задал в своем примере идентификаторы ID_FROM и ID_TO для кнопок и ID_DOUBLE для кнопки.
8.
Привязываем функцию к нажатию на кнопку:

Два раза щелкаем по кнопке
Или, просто как вариант, можно сделать то же так:




Щелкаем по кнопке правой кнопкой мыши.
Выбираем Add Event Handler…
В появившемся диалоге Even Handler Wizard жмем, ничего не меняя, Add and Edit
В программу добавится примерно такой метод:
void CТestDlg::OnBnClickedDouble()
{
// TODO: Add your control notification handler code here
}
Этот метод будет вызываться, когда пользователь нажмет на эту кнопку.
9.
Привязываем переменные к окнам ввода:


Снова откроем редактор ресурсов для диалога
Щелкаем по первому окну ввода правой кнопкой мыши





Выбираем Add Variable…
Заполняем поле Variable name. (Например, туда можно написать m_from для первого поля).
Жмем кнопку Finish
Теперь в класс CTestDlg добавилось поле CEdit m_from;
С помощью этого поля можно получать и устанавливать текст в окне, и вообще выполнять
элементами диалога любые манипуляции.
Повторяем все те же операции для второго окна ввода.
10. Теперь осталось только записать в функции обработки кнопки нужные нам действия. Например, что-то
такое:
void CTestDlg::OnBnClickedDouble()
{
CString s;
m_from.GetWindowText(s);
m_to.SetWindowText(s + s);
}
Download