Элемент | Назначение |
Access | Статус доступа к переменной (public, protected, private). Значение по умолчанию – public – подойдет в большинстве случаев |
Variable type | При установленном флаге Control variable и выбранном в поле Category значении Value, тип переменной – это тип значения, обрабатываемого управляющим элементом. Если же Category=Control, то тип переменной – это тип класса управляющего элемента. Например, если управляющий элемент Edit Control, то типом такой переменной будет CEdit и с помощью этой переменной, представляющей объект класса, мы получаем доступ к член-данным и член-функциям класса, т.е. получаем полный контроль над управляющим элементом. Следовательно, одному и тому же управляющему элементу можно сопоставить две переменных: одну для Category=Control и другую для Category=Value |
Control variable | Если этот флаг установлен, то добавляемая переменная связана с управляющим элементом. Если флаг не установлен, то в класс добавляется «обычная» переменная |
Control ID | Идентификатор управляющего элемента |
Category | Определяет тип переменной: класс управляющего элемента или тип данных, обрабатываемых этим элементом. См. Variable Type |
Control type | Значение этого поля изменить нельзя и оно просто указывает на тип управляющего элемента. Например, для кнопки это BUTTON |
Max chars | Если тип переменной CString, то здесь можно указать максимальное число символов, которые сможет обрабатывать управляющий элемент |
Min value | Если тип переменной BOOL, int, UINT, long, DWORD, float, double, BYTE, short, COLECurrency или CTime, то здесь можно задать минимальное значение, которое будет обрабатывать управляющий элемент |
Max value | Аналогично Min value |
. h file | Имя заголовочного файла для класса-оболочки управляющего элемента ActiveX |
. cpp file | Имя файла реализации для класса-оболочки управляющего элемента ActiveX |
Comment | Набранный здесь текст будет добавлен в виде комментария к описанию переменной в заголовочном файле |
Выберите в диалоговом окне приложения управляющий элемент для ввода фамилии IDC_NAME, с помощью ПКМ вызовите окно для добавления связанной переменной, установите значения элементов диалогового окна в соответствии с рис. 8, придавите Finish. Если Вы все проделали правильно, то в файле DiaWinDlg.h появится объявление переменной:
public:
// Фамилия писателя
CString m_strName;
В файле DiaWinDlg.cpp мастер ИС модифицировал конструктор класса и функцию DoDataExchange() (изменения выделены полужирным шрифтом):
CDiaWinDlg::CDiaWinDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDiaWinDlg::IDD, pParent)
, m_strName(_T(""))
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CDiaWinDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_NAME, m_strName);
DDV_MaxChars(pDX, m_strName, 25);
}
Открою большой секрет: функция DoDataExchange() ответственна за обмен данными между управляющим элементом (например, Edit Control) и связанной переменной – в данном случае m_strName.
Добавьте связанные переменные для управляющих элементов в соответствии с табл. 2. Для всех переменных задавайте Category= Value. Убедитесь, что Вы набираете имена переменных-членов и типов именно так, как показано в табл.2, с учетом регистра символов. После ввода переменной для каждого элемента управления тискайте кнопку Finish. Кроме этого, рекомендую почаще сохранять все файлы проекта (FileèSave all), так как я наблюдал ошибки ИС, которые приводили к потере выполненной работы по вводу переменных. Не забудьте задать максимальное и минимальное значения для переменных m_nHarm и m_nHypo. Если при определении связанной переменной Вы совершите ошибку, то отредактировать такую переменную с помощью мастера невозможно, по крайней мере я не знаю, как это сделать. Поэтому есть два выхода. С помощью полезной команды меню Edit è Find and Replace è Find in Files Ctrl+ Shift+ F найдите все вхождения имени переменной в файлах проекта и аккуратно их удалите, после чего сделайте вторую попытку по добавлению переменной. Второй выход – отредактируйте все вхождения переменной, если Вы по натуре исследователь и любите долго заниматься отладкой приложения.
Таблица 2
Дата: 2019-07-30, просмотров: 208.