
Обзор компонентов библиотеки Delphi лекция9.ppt
- Количество слайдов: 37
Обзор компонентов библиотеки Delphi
Компонент Label Страница Описание Standard Отображение текста, который изменяется пользователем время работы) Additional В дополнение к Label обеспечивает возможность задания стиля бордюра. Panel Standard Является контейнером для группирования элементов управления, но может использоваться и для отображения текстовой информации. Edit Standard Отображение, ввод и редактирование однострочных текстов Static. Text (метка с бордюром) не во
Mask. Edit (окно маскированного редактирования) Additional Используется для форматирования данных или для ввода символов в соответствии с шаблоном Memo Standard Отображение ввод и редактирование многострочных текстов Rich. Edit (многострочное окно редактирования в формате rtf) Win 32 Окно редактирования в обогащенном формате rtf, позволяющее производитьвыбор шрифтов, поиск текста и др. List. Box(окно списка) Standard Отображение стандартного окна списка Windows, позволяющее пользователю выбирать из него пункты (Items) Check. List. Box (список индикаторами) Additional Комбинация свойств списка List. Box и Check. Box с
Combo. Box (редактируемый список) Standard Объединяет функции List. Box и Edit. Пользователь может либо ввести текст, либо выбрать его из списка (items) String. Grid(таблица ) Additional Отображение текстовой информации в таблице из строк и столбцов с возможностью перемещаться по ячейкам и осуществлять выбор (Cells)
Общие свойства ¡ ¡ Например: Canvas. Text. Out(60, 16, ’Canvas’); Во всех компонентах шрифт текста, размер, стиль определяются свойством Font, которое имеет множество подсвойств, устанавливаемых в процессе проектирования или программное во время выполнения приложения.
Отображение текста в компонентах Label, Static. Text, Panel Используются для отображения различных надписей. ¡ Label и Static. Text – это метки для отображения текстов, ¡ Panel предназначена для компоновки компонентов в окне формы ¡
Основные свойства: 1. ¡ ¡ ¡ Текст, содержащийся в компоненте, определяются их свойством Caption. Его можно задавать в процессе проектирования или изменять программно: Label 1. Caption: =’Новый текст’; Если требуется отобразить числовую информацию, можно воспользоваться функциями Float. To. Str и Int. To. Str, а для формирования текста, состоящего из нескольких фрагментов, используется операция «+» : Label 1. Caption: =’Число сотрудников: ’+ Int. To. Str(I);
Основные свойства: 2. 3. Цвет фона - Color, цвет надписи – подсвойство Color свойства Font. Если цвет специально не задавать, то он сливается с цветом контейнера. Размещение всех рассматриваемых компонентов на форме определяется свойствами Top, Left, Height, Witch, Align – общими для всех оконных компонентов. Эти свойства определяют координаты компонента, его размеры и их изменение при изменении пользователем родительского компонента
¡ ¡ При изменении пользователем размеров окна приложения надо перерисовывать компоненты, изображающие текст, иначе выравнивание текста может нарушаться. Чтобы этого не было, надо в обработку события формы on. Resize вставить операторы, перерисовывающие компоненты методом Repaint: Static. Text 1. Repaint;
Особенности: ¡ У метки Label свойство Word. Wrap – допустимость переноса слов длинной надписи, превышающей длину компонента, на новую строку: l l l ¡ У метки Static. Text перенос длинного текста происходит автоматически, если l l ¡ Word. Wrap = true, Auto. Size = false сделать высоту компонента такой, чтобы в ней могли разместиться несколько строк текста. Auto. Size = false размер компонента достаточен для размещения несколько строк текста. В панели Panel нельзя разместить текст в несколько строк.
Основные свойства: 4. Свойство Focus. Control – фокусируемый элемент. Если в свойстве Caption поместить перед одним из символов амперсант «&» , то этот символ выделяется подчеркиванием, сам амперсант не отображается. Если после этого обратиться к свойству метки Focus. Control, то из выпадающего списка можно выбрать элемент, на который будет переключаться фокус, если пользователь нажмет комбинацию. Alt+подчеркнутый символ. После этого необходимо установить свойство Show. Accel. Char этой метки в true. Только тогда клавиши ускоренного доступа в метке срабатывают
Окна редактирования Edit, Labeled. Edit и Mask. Edit ¡ Вводимый и выводимый текст содержится в свойстве Text. Его можно задавать в процессе проектирования или изменять программно. Выравнивание текста и перенос строк невозможен
Общие свойства: ¡ ¡ ¡ Свойством Auto. Size автоматически подстраивается только высота текста, но не ширина. Если текст не помещается в окне, то его можно прокручивать с помощью курсора. Для них предусмотрены типичные комбинации горячих клавиш: Ctrl-C – копирование выделенного текста в буфер обмена Clip. Board CTRL-X – вырезание выделенного текста в буфер обмена Clip. Board Ctrl-V – вставка из буфера обмена Clip. Board в позицию курсора Ctrl-Z – отмена последней команды редактирования Можно установить свойство Read. Only=false и это не позволит редактировать текст.
¡ ¡ ¡ Свойство Max. Length определяет максимальную длину вводимого текста (при Max. Length=0 – длина не ограничена). Свойство Modified, доступное только во время выполнения, показывает, проводило ли редактирование текста в окне (вначале устанавливается false, а затем проверяется). Свойство Password. Char позволяет превращать окно редактирования в окно ввода пароля, если установить Password. Char=*, то при вводе пользователем текста, в окне будут появляться именно эти символы, обеспечивая секретность пароля. Все это относиться ко всем рассматриваемым окнам редактирования. В компоненте Labeled. Edit, помимо окна редактирования, неотличимого по виду от Edit, имеется метка. Она задается свойством Edit. Label – объектом класса Tbound. Label. Этот класс имеет свойства, присутствующие в метке и обеспечивающие все те же возможности. Свойство Label. Position компонента Labeled. Edit указывает, с какой строны от окна размещается метка, например lp. Above – снизу, выровненная по левому краю.
Особенность: ¡ Компонент Mask. Edit отличается от Edit и Labeled. Edit тем, что в нем можно задать строку маски в свойстве Edit. Mask.
Маска состоит из трех разделов ¡ ¡ ¡ 1 -ый раздел – шаблон, содержит специальные символы, 2 -ой раздел – 1 или 0, в зависимости от того, надо или нет включать в свойство Text символы маски, 3 -ий раздел – символ, который будет обозначать еще не введенные позиции. Прочитать результат ввода можно или в свойстве Text, которое в зависимости от вида второго раздела маски, включает или не включает символы маски
Пример маски для ввода телефона: ¡ ¡ !(999) 000 -00 -00; 0; _ В этой маске символ 9 означает, что в соответствующей позиции может быть только цифра или ничего. Символ 0 означает, что в данной позиции может быть только цифра. Символ подчеркивания в конце маки будет заполнять пустые позиции. Тогда пользователю выводится строка (_ _ _) _ _ _ - _ _ Поскольку второй раздел маски равен 0, то при чтении введенных пользователем значений свойства Edit. Text и Text будут различаться. Если в компоненте будет введено (095) 123 -45 -67, то свойство Edit. Text будет равно «(095) 123 -45 -67» , свойство Text будет равно « 0951234567» . Если второй раздел маски = 1, то значения обоих свойств равно «(095) 123 -45 -67»
Пример маски задать маску для ввода целого числа без знака, состоящее не более чем из двух цифр ¡ « 99; 0; » ¡ Если число обязательно должно быть двузначным, то маска должна иметь вид « 00; 0; » ¡
Многострочные окна редактирования Memo и Rich. Edit ¡ Компоненты являются окнами редактирования многострочного текста. Они так же, как и окна, рассмотренные ранее, снабжены многими функциями, свойственными большинству редакторов.
Многострочные окна редактирования Memo и Rich. Edit ¡ ¡ ¡ В них предусмотрены «горячие» клавиши: Ctrl-C – копирование выделенного текста в буфер обмена Clip. Board Ctrl-X – вырезание выделенного текста в буфер обмена Clip. Board Ctrl-V – вставка из буфера обмена Clip. Board в позицию курсора Ctrl-Z – отмена последней команды редактирования
¡ В компоненте Memo формат(шрифт, его атрибуты, выравнивание) одинаков для всего текста и определяется свойством Font. Если текст, содержащийся в компоненте Memo, сохранить в файл, то будут сохранены только символы текста и не будут символы форматирования. При последующей загрузке этого текста из файла в компонент Memo его внешний вид будет определяться состоянием самого компонента, а не тем, в каком формате ранее вводился текст
¡ ¡ ¡ Компонент Rich. Edit работает с текстом в формате rtf. Изменить атрибуты вновь водимого текста можно свойством Sel. Attributes. Это свойство имеет тип Ttext. Attributes, которое в свою очередь имеет подсвойства: Color, Name(имя шрифта), Size, Style и др. Например: l l l 1) поместить на форму этот компонент; 2) со страницы Dialog палитры компонентов стандартный диалог выбора шрифта Font. Dialog; 3) кнопку, с помощью которой этот диалог будет вызываться, то можно связать возвращаемые диалогом атрибуты текста со свойствами текстового редактора.
Для этого в обработчике щелчка кнопки нужно ввести текст: ¡ ¡ ¡ ¡ procedure TForm 1. Button 1 Click(Sender: TObject); begin if Font. Dialog 1. Execute then with Rich. Edit 1. Sel. Attributes do begin Color. Font. Dialog 1. Font. Color; Name. Font. Dialog 1. Font. Name; Size. Font. Dialog 1. Font. Size; Style. Font. Dialog 1. Font. Style; End; Rich. Edit 1. Set. Focus; end;
Можно присвоить сразу все свойства одного объекта другому: procedure TForm 1. Button 1 Click(Sender: TObject); ¡ begin ¡ if Font. Dialog 1. Execute then ¡ Rich. Edit 1. Sel. Attributes. Assign(Font Dialog 1. Font); ¡ Rich. Edit 1. Set. Focus; ¡ end; ¡
¡ Свойство Def. Attributes содержит атрибуты по умолчанию. Эти атрибуты существуют до момента, когда впервые изменяется свойство Sel. Apptibutes, но значения свойства Def. Attributes (доступно при выполнении) сохраняются и могут быть восстановлены в любой момент работы: приложения методом Assign присвоены атрибутам Sel. Apptibutes.
Общие свойства этих окон редактирования: ¡ ¡ ¡ ¡ ¡ Alignмent – выравнивание текста Word. Wrap – допустимость переноса длинных строк Read. Only = true – только для чтения Max. Length – максимальная длина вводимого текста Want. Returns – допустимость ввода пользователем в текст символа перевода строки Want. Tab – допустимость ввода пользователем в текст символа табуляции Scroll. Bars – наличие полос прокрутки Sel. Start - позиция курсора в тексте Memo 1. Caret. Pos. Y+1 и Memo 1. Caret. Pos. X+1 – номер строки и символа в ней перед которым расположен курсор
Основное свойство окон редактирования Memo и Rich. Edit Lines, содержащее текст окна в виде списка строк и имеющее тип TStrings. ¡ Во время работы приложения можно с помощью методов свойства Lines заносить текст в окно редактирования ¡
Это методы: ¡ ¡ Memo 1. Lines. Strings[0] – доступ к отдельной (первой) строке текста по индексу. Индексы меняются как везде в Delphi от 0 до Count-1 Memo 1. Lines. Add (' текст ') – занесение новой строки в окно редактирования Memo 1. Lines. Load. From. File(‘text. txt’); - загрузить текст из файла Memo 1. Lines. Save. To. File(‘text. txt’); - сохранение текста в файле
Компоненты выбор из списков List. Box, Check. List. Box, Combo. Box ¡ ¡ Эти компоненты обеспечивают выбор из списка возможных значений Компоненты List. Box, Combo. Box отображают списки строк и позволяют пользователю выбирать нужную из них. Основное свойство обоих компонентов – Items. Его можно заполнить в процессе проектирования (кнопка с многоточием в окне инспектора объектов). Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса Tstrings – Clear, Add, и др.
List. Box только отображает данные и позволяет выбирать Свойство Комментарий Multi. Select Разрешает пользователю множественный выбор из списка (значение true). Item. Index Выдает номер выбранной строки. Оно доступно только в период выполнения приложения и, если не выбрана ни одна строка, то оно = -1. При множественном выборе это свойство равно номеру строки, в которой находится фокус. Columns Sorted Определяет число столбцов, в которые будет выводиться список Упорядочивание по алфавиту Auto. Complete Значение true позволяет быстро находить строку, нажимая клавишу, соответствующую ее первому символу. Style Задает, какие объекты можно выводить в списке: lb. Standart – список строк, другие – изображения и др. объекты.
Combo. Box позволяет, кроме отображения данных и выбора, редактировать их. Свойства Item. Index и Sorted аналогичны компоненту List. Box Свойство Text Комментарий Выбор пользователя или введенный текст. Max. Length Максимальное число символов, которые может ввести пользователь в окно редактирования. Style Стиль изображения: cs. Drop. Down – выпадающий список со строками одинаковой высоты и с окном редактирования; cs. Simple – развернутый список с окном редактирования и т. п.
Check. List. Box выглядит как List. Box, но около каждой строки имеется индикатор, который пользователь может переключать, в том числе и программно ¡ ¡ Состояние индикаторов определяют два свойства – индексированные массивы: State и Checked, каждый элемент которых соответствует индексу строки, устанавливаемые в том числе и программно При каждом щелчке пользователя на индикаторе его состояние изменяется, проходя в общем случае последовательно три значения: l l выделение(появление черной галочки) промежуточное (серое окно индикатора и серая галочка)
Этим трем состояниям соответствуют три значения свойства компонента State (при Allow. Grayed=true): ¡ Cb. Checked ¡ Cb. Grayed ¡ Сb. Unchecked ¡ При Allow. Grayed=false (значение по умолчанию) допускаются только два состояния: выделенное и не выделенное. ¡
Проверять состояние индикатора можно не только по значению State, но и по значению свойства Checked ¡ ¡ ¡ ¡ Если Checked=true, то индикатор выбран, а если false, State равно либо Cb. Grayed, либо сb. Unchecked. Обращение к свойствам: Check. List. Box 1. Checked[1]: = true Check. List. Box 1. State[2]: = Cb. Grayed Оператор For I: =0 to Check. List. Box 1. Items. Count-1 do If Check. List. Box 1. Checked[i] then …
¡ В компоненте Check. List. Box имеется также событие on. Click. Check, возникающее при каждом изменении пользователем состояния индикатора. Его можно использовать для обработки результатов изменения.
Таблица строк – компонент String. Grid Таблица строк, данные которой можно только читать или редактировать. ¡ Таблица может иметь полосы прокрутки, причем можно задать фиксированное число столбцов и строк, которые не будут прокручиваться (для организации заголовков строк и столбцов, которые постоянно будут присутствовать в окне). ¡
Компонент, в первую очередь, предназначен для организации вывода текстовой информации. Основные свойства компонента: Свойство Комментарий Cells[Acol, Arow: Integer]: string Строка, содержащаяся в ячейке с индексами столбца и строки ACol и ARow. Cols[Index: Integer]: TString Список строк, содержащихся в столбце с индексом Index Rows[Index: Integer]: Tstring Список строк, содержащихся в строке с индексом Index Object[ Acol, Arow: Integer]: TObjec t Объект, связанный со строкой, содержащейся в ячейке с индексами ACol и Arow Col. Count и Row. Count Число столбцов и число строк Col и Row Индексы столбца и колонки выделенной ячейки. Fixed. Cols и Fixed. Rows Число фиксированных, не прокручиваемых строк и столбцов. Fixed. Color Цвет фиксированных ячеек Scroll. Bars Наличие в таблице полос прокрутки Options Это множество, определяющее свойства таблицы.
Обзор компонентов библиотеки Delphi лекция9.ppt