у нас она имеет имя
Определив буфер обмена и создав в программе соответствующую переменную ( у нас она имеет имя tsb и помещена в класс MyDialog), необходимо для каждого управляющего элемента диалога создать управляющий объект соответствующего класса OWL. Все управляющие классы выводятся из базового класса TControl, который сам является одним из производных класса TWindow (см. рис. 28.5, где показана часть структуры классов управляющих элементов, главным образом тех, которые используются в рассматриваемом или последующих примерах).

Для поля ввода (класс органа управления EDITTEXT, см. файл ресурсов 28-2.гс) создается объект класса TEdit, для альтернативной кнопки (класс органа управления BUTTON, стиль BS_AUTORADIOBUTTON) - объект класса TCheckBox, для списка - объект класса TListBox, для комбинированного окна - объект класса TComboBox и т.д. Создание управляющих объектов удобнее всего выполнить в конструкторе диалогового класса, причем порядок их создания должен строго соответствовать порядку объявления соответствующих элементов в структуре буфера обмена. Так, для буфера обмена нашего примера
typedef struct{
char nameEdit[20]; char jobEdit[20] ; char yearEdit[5]; bool mEdit; bool fEdit; }TSB;
требуется такая последовательность вызова конструкторов управляющих классов:
new TEdit(this,IDC_NAME,sizeof(tsb.nameEdit)); new TEdit(this,IDC_JOB,sizeof(tsb.jobEdit)); new TEdit(this,IDC_YEAR,sizeof(tsb.yearEdit)); new TCheckBox(this,IDC_M); new TCheckBox(this,IDC_F);
262 Глава 28
Как видно из приведенного фрагмента, конструкторы управляющих объектов могут иметь разный формат, но все они требуют в качестве первого параметра указатель на класс диалогового окна, в котором эти объекты расположены; поскольку мы создаем объекты в конструкторе этого самого класса, то в качестве указателя на класс удобно использовать указатель this. Вторым параметром выступает идентификатор соответствующего органа управления. Третий параметр, где он есть - это длина передаваемой через буфер строки текста. Заметим, что имена создаваемых объектов мы в программе использовать не будем, поэтому здесь, как и в других аналогичных случаях, вместо полной формы предложения с оператором new, например,
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий