Отправляет email-рассылки с помощью сервиса Sendsay

Delphi. Уроки

  Все выпуски  

Уроки программирования по Delphi.


Служба Рассылок Subscribe.Ru

Delphi. Библиотека VCL. Уроки по программированию с сайта http://alexeev.nm.ru

Рассылка №5

Увы, по техническим причинам выпуск 6 вышел раньше 5-го. Приносим свои извинения :(.

Delphi. VCL. Урок 7. Класс TCheckBox.
Delphi. VCL. Урок 8. Класс TRadioButton.
Delphi. VCL. Урок 9. Класс TListBox.
Delphi. VCL. Урок 10. Класс TComboBox.
Delphi. VCL. Урок 11. Класс TLabel.

Полные версии уроков (с картинками) можно найти по адресам
Урок 7. Класс TCheckBox.
Урок 8. Класс TRadioButton.
Урок 9. Класс TListBox.
Урок 10. Класс TComboBox.
Урок 11. Класс TLabel.

Изучаем Delphi. Библиотека VCL. Урок 7. Класс TCheckBox

Компонент CheckBox расположен на вкладке Standard.

Этом компонент используется для включению/отключения некоторых параметром. При этом на форме может быть несколько CheckBox'ов, и каждый из них можно включать/отключать независимо от других.

Основное свойство для этого компонента - это свойство State. Оно может принимать три значения (именно три, а не два) - cbUnchecked (неотмеченное состояние), cbChecked (отмеченное состояние) и cbGrayed (серое состояние). Серое состояние выглядит так (обратите, кстати, внимание, что рядом с компонентом уже есть надпись. Она определяется свойством Caption).

border="1">

Компонент может иметь такое состояние тогда, когда про соответствующий ему параметр нельзя сказать, включен он или нет. Например, если параметр отвечает за то, не является ли выделенный фрагмент шрифта полужирным, то если часть выделенного текста полужирная, а часть - нет, то логично использовать именно такое состояние. Если же такого неопределенного значения у параметра быть не должно, то свойство AllowGrayed должно быть установлено в false (в этом случае при запуске программы при шелчке на CheckBox'е будут чередаваться только два состояния). Если же свойство AllowGrayed компонента установлено в true, то при щелчке на таком компоненте будут чередаваться все три состояния.

Еще одно свойство, показывающее состояние компонета - это свойство Checked. Оно равно true, если компонент отмечен, и false, если не отмечен (т. е. при этом его свойство State может принимать два значения - cbUnchecked и cbGrayed).

Наверх

Изучаем Delphi. Библиотека VCL. Урок 8. Класс TRadioButton

Компонент RadioButton расположен на вкладке Standard Палитры компонентов.

Он используется для организации выбора из нескольких взаимоисключающих возможностей (при этом допускается выбор только одного варианта из нескольких). Например, на форме можно разместить две RadioButton, и если вы выберите одну из них, то точка внутри другой пропадет.

При этом все RadioButton'ы в одном контейнере считаются принадлежащими одной группе. Если же вам надо организовать две или более незавсимых групп, то воспользуйтесть компонентом GroupBox на вкладке Standard. Разместите на форме два компонента GroupBox, и поместите в каждый из них по две RadioButton'а (только размещать их надо не двойным щелчком на компоненте на Панели компонентов, а одинарным, с последующим щелчком внутри соответствующего GroupBox'а). Запустите программу. Теперь выбор между этими двумя группами можно производить независимо.

Наверх

Изучаем Delphi. Библиотека VCL. Урок 9. Класс TListBox

Экземпляр класса TListBox представляет из себя список. Этом компонент расположен на вкладке Standard Палитры компонентою.

Рассмотрим его основные свойства.

Наверное, самое основное свойство для списка - это Items. Тип у него - TStrings. Именно в нем и хранятся элементы нашего списка. Для заполнения списка нажмите на кнопку с многоточием рядом с названием этого свойство в Инспекторе объектов.

Появится окно String List Editor, в котором можно печатать элементы нашего списка (разделяя их нажатием клавиши Enter).

С элементами списка можно работать и программно. Для этого используем это же самое свойство Items. Например, для добавления элемента в наш список надо написать что-то вроде

  ListBox1.Items.Add('Новый элемент');

, для очистки всего списка пишем

  ListBox1.Items.Clear;

Для удаления элемента из списка используется следующая конструкция:

  ListBox1.Items.Delete(1);

Параметр в скобках (у нас это единица) - это номер удаляемого элемента. В нашем примере фактически удаляется второй элемент списка, так как их нумерация начинается с нуля.

Новые элементы по умолчанию добавляются в конец списка. Если нам надо добавить новый элемент списка на определенное место, то надо использовать конструкцию вида

    ListBox1.Items.Insert(2,'Roman');

В данном примере новый элемент Roman вставится на второе место (с точки зрения пользователя это будет третье место, так как их нумерация начинается с нуля).

Свойство ItemIndex служит для определения выделенного в списке элемента (оно доступно как для чтения, так и для записи). Элементы списка нумеруются с нуля, так что если выделен, например, третий элемент, то значение этого свойства равно 2. Если ни один элемент списка не выделен, то значение свойства ItemIndex равно -1. Вот так, например, можно снять выделение с элемента списка:

  ListBox1.ItemIndex:=-1;

Свойство списка MultiSelect определяет, можно ли выделять несколько элементов списка одновременно. Если оно равно false (значение по умолчанию), то выделять несколько элементов нельзя, а если true, то можно.

Свойство Sorted определяет, сортируются ли элементы списка. По умолчанию оно равно false, и если установить его в true, то список будет отсортирован и новые элементы будут вставлятся не в конец, а в соответствующее сортировке место.

Имеется еще много разных свойств, их мы будем рассматривать в последующих уроках.

Наверх

Изучаем Delphi. Библиотека VCL. Урок 10. Класс TComboBox

ComboBox представляет из себя комбинацию Edit'а и ListBox'а. Иконка для него находится на панели Standard.

У него, как и у списка (компонент TListBox) основное свойство - Items. Его тип - TStrings. Оно определяет список строк нашего компонента. Добавление элементов, их удаление, очистка всего содержимого combobox'а происходит точно так же, как и для компонента TListBox, так что если забыли, то посмотрите в предыдущем уроке.

Выбранный пользователем элемент combobox'а можно определить с помощью свойства Text, а его номер - с помощью свойства ItemIndex (нумерация, как и у ListBox'а, начинается с нуля).

У ComboBox'а можно выбрать один из предопределенных стилей, которые определяются свойством Style. Значение стиля по умолчанию - csDropDown. При таком стиле вы можете выбирать значение из списка нашего combobox'а и впечатывать его сами. Еще одно возможное значение - csDropDownList. В этом случае пользователь сможет выбирать только те значения, которые есть в списке, другое же значение он впечатать в combobox не сможет. Это два самых распростаненных значения для стиля. Иногда используется стиль csSimple. В этом случае наш combobox будет выглядеть приблизительно так (т. е. выподающий список превратится в нечто, напиминающее ListBox).

У ComboBox'а, как и у ListBox'а есть свойство Sorted логического типа. И работает оно точно также.

Наверх

Изучаем Delphi. Библиотека VCL. Урок 11. Класс TLabel

Этот компонент используется для отображения различных надписей на формых. Иконка для него находится на панели Standard Палитры компонентов.

Основное свойство для этого компонента - Caption. Именно оно и отвечает за надпись на нашем компоненте.

Вы можете задавать различные характеристики шрифта для нашего компонента (свойство Font). Для этого нажмите кнопочку с многоточием в строке со свойством Font Инспектора объектов. В частности, надпись можно сделать подчеркнутой и синей - как гиперссылку.

Можно написать и код для перехода на определенный сайт при щелчке на такой надписи (Пример см. в Уроке 15).

У компонента TLabel имеется свойство AutoSize, которое отвечает за то, будет ли компонент автоматически изменять размер по горизонтали с изменением длины надписи. По умолчанию это свойство равно true. Еще имется свойство WordWrap. Если установить значение этог свойства в true, а значение свойства AutoSize в false, то при увеличении длины надписи происходит перенос слов на новую строчку.

Для компонента TLabel есть еще одно неочевидное применение, а именно его можно использовать для получения доступа по горячим клавишам (комбинации типа Alt+W) к элементам, не имеющим свойства Caption. Рассмотрим, например, как можно с момощью label'а получить доступ к Edit'у (полю для ввода). Для этого расположите на форме label и edit, оставив их имена по умолчанию. Измените свойство Caption для Label1 в &Wrap. Свойство же FocusControl для компонента Label1 установите в Edit1.

Компилируйте проект (F9) и нажимайте Alt+W. Поле для редактирования Edit1 получит фокус.

Наряду с обычным label существуют и другие компоненты приблизительно с такой же функциональностью. Но об них как-нибудь в следующий раз.

Наверх

Copyright Алексеев Игорь, 2002

Copyright сайт alexeev.nm.ru, 2002


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное