VR
Virtual Reality On-line   Журнал
Новости   |     Журнал    |    Хаkер    |     Магазин   |   Проекты
[   Вход    ]
[Kарта сайтa]

[ Download  ]
[  Конкурс  ]
[ Анекдоты  ]
[  Ссылки   ]
[  Реклама  ]
[ Почтальон ]
[ О проекте ]






TopList
Язык программирования Delphi.
Delphi6 в действии.
:
Logo

В этой статье я раскажу про некоторые новые компоненты и как ими пользоваться. Я буду рассматривать только простые компоненты не связанные с интернетом и базами данных, потому что эти вопросы за одну статью не опишешь. Тем более, что работа с базой данных изменилась очень сильно.

Logo
Рис. 1 Рабочая форма.

На рисунку 1 показана рабочая форма проги, с которой мы будем сегодня играть. На форме у меня находяться основные компоненты:

  • TValueListEditor c палитры Additional
  • TColorBox c палитры Additional
  • TLabeledEdit c палитры Additional
  • TComboBoxEx c палитры Win32

Установи их на форму, можешь это сделать так же, как и я. Давай рассмотрим эти компоненты в отдельности.

ТValueListEditor - очень удобный компонент для редактирования различных свойств. В моём примере я в качестве свойств задал "человеческие" параметры, такие как ФИО, адрес, телефон ... Они теперь очень удобно располагаются и для пользователя их удобно редактировать.

Рассмотрим основные свойства. В дезайнере тебе доступны несколько интересных вещей:

  • TitleCaptions - имена заголовков. Щёлкни дважды по этому свойтству и ты увидешь простой текстовый редактор, в котором можешь изменять, добавлять и удалять имена заголовков. Я ввёл там только два заголовка - "свойство" и "значение".
  • FixedColor - Цвет фиксированной колонки.
  • FixedCols - Индекс фиксирванной колонки. По умолчанию стоит 0, т.е. фиксированной колонки нет. Измени это значение на 1, чтобы сделать первую колонку фиксированной.
  • Strings - Имена свойств. Здесь я уже забил кучу значений:
    • Фамилия
    • Имя
    • Отчество
    • Ник
    • Год рождения
    • Место рождения
    • Адрес
    • Телефон

Больше в дезайнере пока нет ничего особо заслуживающего нашего внимания.

Теперь давай немного поШкодим. Создай обработчик события для формы OnShow. В нём мы напишем следующее:

 procedure TForm1.FormShow(Sender: TObject);
 begin
  ValueListEditor1.ItemProps[6].EditStyle:=esPickList;
  ValueListEditor1.ItemProps[6].PickList.Add('Москва');
  ValueListEditor1.ItemProps[6].PickList.Add('Питер');
  ValueListEditor1.ItemProps[6].PickList.Add('Ростов-на-Дону');
 end;

У компонента ТValueListEditor есть свойство ItemProps, в котором можно указывать свойство любой строки. Я изменяю свойство шестой строки (это у меня адрес) с помощью ValueListEditor1.ItemProps[6]. У ItemProps есть свойство EditStyle, которое указывает, как будет выглядить строка в режиме редактирования. В первой строке моего кода я изменяю режим редактирования шестой строки на esPickList. Это означает, что у меня свойство будет редактироватся в виде выпадающего списка (когда пользователь щёлкнет по строке, появится Combobox). Ты такое уже должен был видеть в объектном инспекторе Delphi.

Остальные строки заполняют выпадающий список.

Отлично, маленький редактор свойств почти готов. Теперь выдели его и создай для него обработчик события OnGetEditMask. Тут я написал:

procedure TForm1.ValueListEditor1GetEditMask(Sender: TObject; ACol,
  ARow: Integer; var Value: String);
begin
 if ARow=5 then Value:='99/99/9999';
end;

Это событие вызывается каждый раз, когда какой-нибудь строке нужна масска ввода. Я проверяю, если это пятая строка (год рождения), то я задаю маску присваивая её переменной Value, передаваемой мне в качестве параметра функцией обработчиком события.

Параметры задания маски такие же, как и для компонента TMaskEdit. Если ты ни разу не работал с массками, то '99/99/9999' означает, что на месте цифры 9 может быть любое число, а разделитель "/" будет ставится автоматически. "/" - разделитель даты, и в Windows по умолчанию он меняется на точку.

Теперь посмотрим на TTColorBox. В принципе, это простейший ComboBox, который отображает цвета. Давай создадим для него обработчик события OnChange, чтобы прочитать знечение выделенного цвета:

procedure TForm1.ColorBox1Change(Sender: TObject);
begin
 ValueListEditor1.Font.Color:=ColorBox1.Selected;
end;

По событию OnChange (выделенный цвет изменился) я присваиваю выделенный цвет ColorBox1.Selected в значение цвета шрифта компонента ValueListEditor1. Это значит, что цвет текста в ValueListEditor1 изменится на выделенный.

В принцепе с цветным ComboBox больше нечего мусолить. Он прост как три копейки. Давай перейдём в ComboBoxEx1. У этого компонента есть свойство ItemsEx. щёлкни дважды по нему и перед тобой появится окно для создания элементов ComboBoxEx1. В этом окне нажми клавишу на клавиатуре "Ins" и создастся новый элемент. В объектном инспекторе ты можешь указать его заголовок (Caption), картинку (ImageIndex) и ещё несколько параметров, которыми ты будешь пользоватся очень редко.

Вот и всё. Остался только LabeledEdit. У него все свойства похожи на TEdit. Все свойства относящиеся к заголовку находятся в свойстве EditLabel. Щёлкни по нему дважды и ты увидешь свойства схожие с TLabel.

Ну на сегодня хватит. Увидемся в следующий раз.


Design by FMk group ©
Copyright©: Horrific aka Флёнов Михаил ©