Шупрута В.В. - Delphi 2005 - Учимся программировать (1080891), страница 46
Текст из файла (страница 46)
Как и свой аналог для .NET, компонент TGroupBox представляетсобой контейнер для других компонентов. Обычно он используется дляобъединения компонентов в группы по функциональным признакам.Основные свойства компонента приведены в табл. 7.12.Таблица 7.12 т Основные свойства компонента TGroupBoxСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и его свойствамCaptionТекст, располагающийся в верхней части. Основное назначение.свойства состоитв пояснении предназначения компонентов, находящихся в группеFontШрифт контейнера и всех входящих в нее компонентовEnabledСвойство, определяющее, доступен ли компонент (Enabled=True) или нет(Enabled=False)Свойство, позволяющее отображать ( v i s i b l e = T r u e ) и скрывать ( V i s i b l e = F a l s e )VisibleкомпонентAlignОпределяет границу формы, к которой «прикреплена» панель.
Панель может бытьприкреплена к верхней (alTop), нижней (alBottom), левой ( a l L e f t ) или правой ( a l R i g h t )границе формы, занимать всю форму ( a l C l i e n t ) либо быть независимой (alCutsom)Компонент TComboBoxКомпонент TComboBox представляет собой сочетание поля редактирования исписка, что позволяет вводить данные путем набора с клавиатуры или выборомиз списка.
Свойства компонента приведены в табл. 7.13.10-3166ГЛАВА 7 Т Основные компоненты при программировании для Win3 2Таблица 7.13 т Основные свойства компонента TComboBoxСВОЙСТВОКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и егосвойствамТекст, располагающийся в поле для ввода (если компонент находится в режимеcsDropDown или csSimple)Шрифт текстаСвойство, определяющее, доступен ли компонент для ввода/выбора (Enabled=True)или нет(Enabled=False)Свойство, позволяющее отображать ( v i s i b l e = T r u e ) и скрывать ( v i s i b l e = F a l s e )компонентСвойство, определяющее вид компонента: csDropDown - поле ввода ираскрывающийся список, csSimple - поле ввода со списком, csDropDownList раскрывающийся списокМаксимальное количество показываемых элементов в выпадающем спискеЭлементы списка - коллекция строкНомер элемента, который в данный момент выбран в списке.
Если выбранногоэлемента нет, то значение свойства равно -1Признак необходимости сортировки элементов коллекции после добавленияочередного элементаTextFontEnabledvisible•StyleDropDownCountItemsItemlndexSortedСписок, отображаемый в поле компонента, можно формировать во времясоздания формы или во время работы программы.Чтобы сформировать список во время работы программы, надо применитьметод Add к свойству Items.
Например, следующий фрагмент кода формируетупорядоченный по алфавиту список:// Метод очистки элементов списка.ComboBoxl.Items.Clear// Установка признака необходимости сортировки.ComboBoxl.Sorted:=True;// Заполнение элементов списка.ComboBoxl.Text:='Петербург';ComboBoxl.Items.Add('Петербург');ComboBoxl.Items.Add('Москва') ;ComboBoxl.Items.Add('Новосибирск');ComboBoxl.Items.Add('Мурманск');ComboBoxl.Items.Add('Воронеж');ComboBoxl.Items.Add('Краснодар');Аналогичного результата можно добиться, если использовать для ввода элементов списка окно редактора свойств String list Editor. С помощью этого окнасписок можно сформировать во время создания формы.
Для этого необходимощелкнуть на кнопке с тремя точками в строке свойства Items (Элементы) и впоявившемся окне String list Editor (рис. 7.6) ввести элементы списка.Компонент TComboBox|,(1'оЬ(«1 Inspector""I•Э Welcome РадеГШНИШ'IComboBoxlFormi" Э String List Editor6 linesParentHDMi odeTirueParentFont TrueTextComboBoxlTop16Wdi th |145Q Msiceal neousAl utoColseUp Fj asleAucoCompelet [TrueAuotCompetetDSiOGJAutoOropDcwi JFasleCI harCase elcNormalUtemHeightjltemlndexjMaxLengthПетербургМосква-(овосибирскМурнэнскВоронежКраснодар!13|-110CancelHelpРис.
7 . 6 т Формирование списка компонента TComboBox во время создания формы<Выберите модель> _ * J ; ^имение Itemlndex:'•—1 •.:•:•| ::L:::::::Рис. 7.7 т Форма приложения, демонстрирующего вариантиспользования компонента TComboBoxСледующая программа демонстрирует использование компонента TComboBox для ввода данных. Форма приложения приведена на рис. 7.7.Текст программы приведен в листинге 7.4.ГЛАВА 7 Т Основные компоненты при программировании для Win32Листинг 7.4 т Текст программы (основных процедур), поясняющей использованиекомпонента TComboBox// Обрабатываем изменение текущего выбранного элемента.procedure TForml .ComboBoxlChange (Sender: TObject');begincase ComboBoxl.Itemlndex of-1; ;0: Imagel.Picture.LoadFromFile('imgOl.jpg');1: Imagel.Picture.LoadFromFile('imgO2.jpg');2: Imagel.Picture.LoadFromFile('imgO3.jpg');3: Imagel.Picture.LoadFromFile('imgO4.jpg');end;Label1.Caption:='Значение Itemlndex: '+IntToStr(ComboBoxl.Itemlndex);end;// Показываем, что изначально свойство Itemlndex = -2.procedure TForml.FormCreate(Sender: TObject);beginLabel1.Caption:='Значение Itemlndex: '+IntToStr(ComboBoxl.Itemlndex);end ;Компонент TListBoxДанный компонент представляет собой список, в котором пользовательможет выбирать нужный элемент.
Основные свойства компонента приведеныв табл. 7.14.Таблица 7 . 1 4 т Основные свойства компонента TListBoxСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и егосвойствамItemsЭлементы списка - список строкItemlndexНомер элемента, который в данный момент выбран в списке. Если выбранногоэлемента нет, то значение свойства равно - 1I t e m s . CountОбщее количество элементов спискаSortedПризнак необходимости (Sorted=True) сортировки элементов коллекции последобавления очередного элементаСвойство, определяющее режим выбора элементов списка. Может приниматьследующие значения: True - в списке можно выбирать несколько элементов, False •только один элементMultiSelectКомпонент TListBoxТаблица 7.14тОсновные свойства компонента T L i s t B o x (окончание)СвойствоКомментарийExtendedSelectПризнак доступности расширенного выбора элементов списка в режимеM u l t i S e l e c t .
Если свойство установлено в True, то выбирать элементы списка можнос помощью клавиш Shift и Ctrl, в противном случае - только обычным способомЗадает количество колонок, в которые будет формироваться список, если элементысписка невозможно полностью отобразить в поле компонентаColumnsAlignОпределяет границу формы, к которой «прикреплена» панель.
Список может бытьприкреплен к верхней (alTop), нижней (alBottom), левой ( a l L e f t ) или правой( a l R i g h t ) границе формы, занимать всю форму ( a l c i i e n t ) либо быть независимым(alCutsom)FontШрифт, используемый для вывода элементов спискаСписок, отображаемый в поле редактирования, можно сформировать какпри создании формы, так и при-выполнении программы. В первом случаенеобходимо щелкнуть по кнопке с тремя точками в поле свойства Items и вокне String List Editor (рис. 7.8) ввести элементы списка.
Во втором случаенеобходимо применить уже знакомый нам метод Add свойства Items.Далее приведена программа, которая демонстрирует пример использованияэтого компонента. Программа прослушивает несколько аудиофайлов в форматет р З . Для воспроизведения файлов используется компонент TMediaPlayer(находится на вкладке System окна Tool Palette), который в данной книге нерассматривается. Тем не менее в этом простом примере вы поймете основы его* X, 15) Formi;ParentBOMode True|| I ParentFont TrueI Top116Iwidth145E! Miscellaneous:,1 :AutoComplete True|AutoComple!eD«50l]' Coul mns0[ExtendedSetect True! lntegralHeight [FalseItemHeight13MultiSelectFalseNameшею)iScrolWkdthSortedI"(Fasle4photriteoOslphoto02photo03photo04CancelHi*Рис.
7.8 т Ввод элементов списка с помощью окна String List Editor•ГЛАВА 7 • Основные компоненты при программировании для Win32работы. Для того чтобы «проиграть» звуковой файл, необходимо определитьимя файла, открыть его с помощью метода Open компонента TMediaPlayer изатем применить метод Play. Компонент TMediaPlayer в ходе выполненияпрограммы не отображается ( M e d i a P l a y e r l . V i s i b l e : =False).
В данномпримере вся последовательность действий воспроизведения звукового файлареализована как процедура, куда в качестве параметра передается имя файла,который необходимо воспроизвести. В свою очередь, имя файла получается спомощью компонента TListBox, в котором выбирается нужный элемент списка.Форма окна программы приведена на рис. 7.9, а текст - в листинге 7.5.ENNOI MORRCIONE - CM MaiR. CLAYOERMAN • La CumparstaiВ. ЭИНЧУК - Летняя громСаундтрек т к/ф "ТУРЕЦКИЙ ГАМЕИГ - штури ПлееныРис.