HTML [44] |
Visual C++ и MFC [21] |
c++ [78] |
php [19] |
Javascript [15] |
C# [51] |
загрузки [0] |
XNA
[10]
создание игр с помощью xna
|
Главная » Статьи » Visual C++ и MFC |
В зрительном зале воцарилась тишина, все в ожидании продолжения первой кровавой части о похождениях Class Wizard. По предварительным данным сиквел не менее жесток и кровожаден, чем его предшественник. Люди, видевшие его утверждают, что Чужие-1 , 2, 3 и т. д. отдыхают при сравнении с ним. Занавес приоткрывается, начинается киносеанс. Несмотря на столь красочное вступление ничего сложного не будет. Сегодня вашему вниманию будет представлена вторая вкладка Class Wizard под названием Member Variables. Внеший вид 2-ой вкладки:Для того чтобы полноценно взаимодействовать с элементом управления ( имеется ввиду, например, получать значение из элемента управления, устанавливать его свойства программно) с ним необходимо связать переменную. Вот вы и подошли к тому, зачем нужна данная вкладка. Основное предназначение её - связывание элементов управления с переменными. Существует 2 вида связки: по значению и с помощью управляющей переменной.
Почти с каждым элементом управления можно связать 2 переменные: одну по значению, другую, как программный объект. На вкладке Member Variables есть следующие элементы:
Для того чтобы связать например текстовое поле с переменной необходимо проделать следующие действия
Дополнение:После того как вы связали переменную с элементом управления, у вас появляется возможность наложить ограничения на её свойства. Например как на рисунке: У переменной m_str ( она связана с IDC_EDIT1 ) максимальное количество символов равно 23. Безусловно, вы можете проставить другое значение. Или ещё примерчик : У переменной m_digit выставлено ограничение на минимальное и максимальное значение. Первое должно быть равно 0, второе 100. Для обмена значениями между элементами управления и проверки корректности данных используется функция DoDataExchange класса CWnd. virtual void DoDataExchange( CDataExchange* pDX ); Она реализует механизм DDX/DDV.
При программировании в среде Visual C++ разработчику обычно нет необходимости непосредственно модифицировать код DoDataExchange. Это за него сделает Class Wizard.Для переменной m_str код функции, сгенерированной Class Wizard выглядит так void CEditDlg::DoDataExchange(CDataExchange* pDX){ CDialog ::DoDataExchange(pDX); //{{AFX_DATA_MAP(CEditDlg) DDX_Text(pDX, IDC_EDIT1, m_str); DDV_MaxChars(pDX, m_str, 23); //}}AFX_DATA_MAP } А для m_digit этот код выглядит следующим образом: void CEditDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CEditDlg) DDX_Text(pDX, IDC_EDIT1, m_digit); DDV_MinMaxInt(pDX, m_digit, 0, 100); //}}AFX_DATA_MAP } Фактически вы получаете в подарок готовый инструмент по обмену данными и проверки корректности введеных значений. Экскурсию в недра Class Wizard вы продолжите в недалеком будущем. | |
Просмотров: 1621 | Рейтинг: 5.0/1 |
Всего комментариев: 0 | |