162______________________________________________Глава 3

Для каждого узла задается свойство Caption — надпись, появляющаяся около
пиктограммы. Для дочерних узлов это свойство соответствует надписи, появляю-
щейся в с ячейках таблицы в режиме vsReport.

Свойство Image Index определяет индекс пиктограммы. Индекс соответствует
спискам изображений, хранящимся в отдельных компонентах ImageList (см. раз-
дел 3.7.3). Указания на эти компоненты вы можете задать в свойствах Largelma-
ges для режима vslcon и Smalllmages для режимов vsSmallIcon, vsList и vsRe-
port. Индексы начинаются с 0. Если вы укажете индекс -1 (значение по умолча-
нию), пиктограммы изображаться не будут. Свойство State Index в панели Item Pro-
perties позволяет добавить вторую пиктограмму в данный объект. Подобная пик-
тограмма может просто служить дополнительной характеристикой объекта. Ин-
декс, указываемый как State Index, соответствуют списку изображений, хранящих-
ся в отдельном компоненте ImageList, указанном в свойстве Statelmages компо-
нента List View.

Свойство Columns определяет список заголовков таблицы в режиме vsBeport
при свойстве ShowColumnHeaders (показать заголовки), установленном в true.
Свойство Columns можно задать в процессе проектирования специальным редакто-
ром заголовков, вызываемом двойным щелчком на компоненте List View или щел-
чком на кнопке с многоточием рядом со свойством Columns в окне Инспектора
Объектов. Редактор заголовков уже был нами рассмотрен (см. рис. 3.9).

Объекты списка могут быть упорядочены соответствующим заданием свойства
SortType, которое уже рассматривалось нами для компонента TreeView.

3.2.9 Обеспечение синтаксически правильного ввода
текстовых и цифровых данных

Мы рассмотрели различные компоненты ввода информации. Теперь остано-
вимся на проблеме сокращения числа возможных ошибок пользователя при вводе
, текстовых и числовых данных. Это очень серьезная проблема, особенно при по-
строении приложений, рассчитанных на массового и не очень квалифицированно-
го пользователя. Частично безошибочного ввода можно добиться за счет маскиро-
вания, описанного при рассмотрении компонента MaskEdit. Однако, и при маски-
рованном вводе пользователь может ошибиться в синтаксисе, в результате чего бу-
дет генерироваться исключение. Еще лучше использовать, если возможно, выбор с
помощью компонентов типа ListBox, ComboBox, StringGrid, DateTimePicker,
CSpinEdit и т.п. Это гарантирует, если не правильный в смысловом плане, то, по
крайней мере, синтаксически правильный ввод. В качестве примера на рис. 3.12
приведены два варианта ввода информации о сотрудниках некоей организации.

ПрИМер ПраВИЛЬНОЙ И                    '^'^ .'•Пяю.аяорга^цмвв^^^^Р^^Пр^илы.апорЙ^^

неправильной организации ввода   i;s::     ': :!:' :   ^V^11"1'-1:11:1;1:1111,:1,, 1 ' '^-.^-.•^^\.,     ' : .'.^;^ ^ I

.                                                     ilils?- •'.       ':'. 'Отдел ..•^•^^^^'^^'^•.^••^^-.^^^^Отйея    .. J1.;,::!:^^'.^ : :j

информации                         ilfc-'! . , ,______^VisStSB^s ! '•ii ;ii"' •^'-i.g :i::L,,.:.._:__.Ж';1?'':111^^

^Ifej;  \ :[Бцгалтеря        '^^^^^^^^^Ъунтатерня~^ля•^i"' " ^ I

'Данные о страднике Иванове     ;    -|Дан|Цех1             it»!         )

-1;:',1:1::;1 ,       :     1.:,,       , \'\       -Щеп 2__________|    -^ЯЙЙ

/...Стаж        : : .Телефон      ; . •::•: ""''-.Стаж ^ ,     Телефон '^И^я!

ЙйГ25'1. ^^rJAza-iSG?,;,^,, ^,:,,:r:;IУ,jlo^S&^i:]^3^67^,:!1®!

,^'У;'. „„^^^.Дата рождения                          Дата рождения:\ : !   •: '•' ||
1,,f::::::,   |7. 5: 970[~fМай1970 „^р-": : "^ l|