- •СОЗДАНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
- •Использование стандартных элементов управления
- •Элемент
- •Название
- •Назначение
- •Объявление элемента управления в коде программы
- •АССОЦИИРОВАННЫЕ ПЕРЕМЕННЫЕ
- •Создание ассоциированных переменных
- •Объявление члена-переменной класса в коде программы
- •Функции обмена данными
- •Установка значения элемента управления по умолчанию
- •Общие свойства элементов управления
- •Static edge – устанавливает границу элемента управления.
Visual C++ |
Лекция 3 |
5 |
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_M, c_M); DDX_Control(pDX, IDC_FileName, c_FileName); DDX_Text(pDX, IDC_V, m_V); DDV_MinMaxUInt(pDX, m_V, 1, 1024); DDX_Text(pDX, IDC_F, m_F); DDV_MinMaxFloat(pDX, m_F, 0.f, 1000.f); DDX_Text(pDX, IDC_FILENAME, m_FileMame); DDV_MaxChars(pDX, m_FileMame, 55); DDX_Text(pDX, IDC_M, m_M); DDV_MinMaxByte(pDX, m_M, 5, 25); DDX_Check(pDX, IDC_CHECK, m_check); DDX_Radio(pDX, IDC_RADIO, m_radio);
}
Все функции, имена которых начинаются с DDX, выполняют обмен данными. Вторым аргументом каждой функции является идентификатор элемента управления, а третьим – идентификатор членапеременной класса.
Имеется 34 функции, чьи имена начинаются с DDX – одна на каждый тип данных, которыми могут обмениваться диалоговое окно и соответствующий класс. Тип элемента управления указывается в имени функции после знака подчёркивания. Функции, содержащие в имени Control, осуществляют обмен данными между диалоговым окном и членом-переменной класса категории Control.
Все функции, имена которых начинаются с DDV, ответственны за проверку заданных ограничений на вводимые данные.
Второй аргументом вызова функции DDV_MaxChars – идентификатор члена-переменной класса категории Value типа CString, а третий – максимальная длина вводимой строки. Функция осуществляет контроль над количеством символов, введённых пользователем в текстовое поле и, в случае нарушения наложенного ограничения, выводит на экран соответствующее сообщение с приглашением повторить попытку.
Второй аргументом вызова функции DDV_MinMaxFloat – идентификатор члена-переменной класса категории Value типа Float, а третий и четвёртый – минимальное и максимальное значение введённого пользователем числа. Функция осуществляет контроль над значением числа, введённого пользователем в текстовое поле и, в случае нарушения наложенного ограничения, выводит на экран соответствующее сообщение с приглашением повторить попытку.
Установка значения элемента управления по умолчанию
Если у элемента управления существует ассоциированная с ним член-переменная класса категории Value, то ClassWizard устанавливает для этого элемента управления значение по умолчанию, которое отображается в элементе управления при открытии диалогового окна. Для членов-переменных класса числового типа это ноль, типа CString – пустая строка.
Давайте проследим за тем, какие изменения в коде программы сделал ClassWizard после добавления члена-переменной класса. С этойцелью:
в окне Workspace откройте вкладку ClassView;
откройте класс диалогового окна и выберите метод, имя которого совпадает с именем класса диалогового окна.
Текст этого метода, который сформировал ClassWizard, будет иметь примерно следующий вид:
CPressDlg::CPressDlg(CWnd* pParent /*=NULL*/) : CDialog(CPressDlg::IDD, pParent)
{
m_F = 0.0f; |
//значение по умолчанию члена-переменной класса типа float |
m_FileName = _T(""); |
//значение по умолчанию члена-переменной класса типа CString |
m_M = 0; |
//значение по умолчанию члена-переменной класса типа BYTE |
m_check = FALSE; |
//значение по умолчанию члена-переменной класса типа BOOL |
m_radio = -1; |
//значение по умолчанию элемента управления типа Radio Buttin |
}
Если вы хотите изменить значения по умолчанию элементов управления, то для этого необходимо внести изменения в текст программы.
Общие свойства элементов управления
Свойства элементов управления, как и других объектов, можно установить в окне Proerties, в котором эти свойства сгруппированы по назначению и расположены на нескольких вкладках.
Выжол Ю.А.
Visual C++ |
Лекция 3 |
6 |
Ниже приведено описание свойств элементов управления, значение которых можно установить на вкладке General.
ID – идентификатор элемента управления. Уникальное имя в диалоговом окне. Строковое выражение без пробелов и знаков препинания. Рекомендуется использовать в имени диалогового окна префикс IDC_
Caption – строковое выражение, которое отображается в некоторых элементах управления.
Visible – определяет, будет ли элемент управления отображаться при первом появлении диалогового окна. Тип – Bool. Значение по умолчанию – True.
Disabled – определяет блокировку элемента управления. Если элемент управления заблокирован, то пользователь не может инициализировать какие-либо события в элементе управления. Тип – Bool. Значение по умолчанию – False.
Group – определяет первый элемента управления в группе элементов управления. Тип – Bool. Значение по умолчанию – False.
Tabstop – определяет, может ли элемент управления получить фокус при нажатии клавиши Tab. Тип – Bool. Значение по умолчанию – True.
Help ID – определяет наличие идентификатора контекстной справки. Тип – Bool. Значение по умолча-
нию – False.
Ниже приведено описание свойств определяющих внешний вид элемента управления, значение которых можно установить на вкладке Extended Styles. Все свойства имеют тип Bool, а значение по умолчанию – False.
Client edge – устанавливает утопленную границу элемента управления.
Static edge – устанавливает границу элемента управления.
Modal frame – устанавливает приподнятую границу элемента управления. Transparent – элемент управления, использующий этот стиль, прозрачен.
Right aligned text – определяет выравнивание текста внутри элемента управления по правому краю.
Выжол Ю.А.