3. Компоненты страницы ADDITIONAL 1. TBitBtn Пиктографическая кнопка TBitBtn представляет собой разновидность стандартной кнопки TButton, которая помимо текста может содержать графическое изображение. Растровое изображение определяется с помощь свойства Glyph. В комплект поставки Delphi (поддиректория Images/Buttons входит около 160 различных вариантов растровых изображений для кнопок. Кроме того, пользователь может самостоятельно создать растровое изображения помощью встроенного в Delphi графического редактора. Свойство Kind позволяет выбрать одну из 11 стандартных разновидностей кнопки.
Нажатие любой из кнопок, кроме bkCustom и bkHelp, закрывает модальное окно и возвращает в программу результат mrXXX: bkOk - mrOk, bkCancel - mrCancel и т.д. Кнопка bkClose для модального окна возвращает mrCancel, a дляглавного окна программы – закрывает его и завершает работу программы. Кнопка bkHelp автоматически вызывает раздел справочной службы, связанный с HeIpContext формы, на которую она помещена.
Property Glyph: TBitmap:
| Определяет связанные с кнопкой растровые изображения (до 4)
| TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes,bkNo, bkClose, bkAbort, bkRetry, bkIgnore,bkAII);
Property Kind: TBitBtnKind;
| Определяет разновидность кнопки | TButtonLayout = (blGlyphLeft, bIGlyphRight, bIGlyphTop, bIGlyphBottom);
Property Layout: TButtonLayout;
| Определяет край кнопки, к которому прижимается пиктограмма
| Property Margin: Integer:
| Определяет расстояние в пикселях от края кнопки до пиктограммы
| TNumGlyphs: 1..4;
Property NumGlyphs: TNumGlyphs;
| Определяет количество растровых изображений. Таких состояний может быть четыре: нормальное, запрещенное, нажатое, и утопленное
| Property Spacing: Integer;
| Определяет расстояние в пикселях от пиктограммы до надписи на кнопке
| TButtonStyle = (bsAutoDetect, bsWin31, bsNew);
Property Style: TButtonStyle.;
| Определяет стиль оформления кнопки, зависящий от операционной системы
|
2. TSpeedButton Еще один вариант кнопки, который отличается от TBitBtn тремя обстоятельствами: во-первых, не предусмотрен вывод надписи, во-вторых, имеется возможность фиксации в утопленном состоянии и, в-третьих, она не может закрыть модальное окно. 3. TMaskEdit Специализированный редактор TMaskEdit предназначен для ввода текста, соответствующего некоторому шаблону, задаваемому свойством EditMask: String. Если это свойство не задано, TMaskEdit работает как обычный редактор TEdit.
Шаблон состоит из трех частей, отделенных друг от друга символами “;”. Первая часть задает маску ввода, вторая - это символ “0” или “1”, определяющий, записывается ли в Text результат наложения маски или исходный текст (“0” -исходный текст). В третьей части указывается символ, который в окне редактора будет стоять в полях, предназначенных для ввода символов. Описатели полей ввода представлены в следующей таблице:
Символ
| Поле
| L
| Должно содержать букву
| 1
| Может содержать букву
| А
| Должно содержать букву или цифру
| а
| Может содержать букву или цифру
| С
| Должно содержать любой символ
| с
| Может содержать любой символ
| 0
| Должно содержать цифру
| 9
| Может содержать цифру
| #
| Может содержать цифру, “+”, “–”
|
Специальные символы:
Символ | Значение
| \
| Следующий символ - литерал. Позволяет вставить в маску литералы из символов описателей полей ввода и специальных символов
|
| На это место вставляется символ-разделитель Windows для часов, минут, секунд
| /
| На это место вставляется символ-разделитель Windows для полей даты.
| /
| Разделитель частей шаблона
| !
| Подавляет все ведущие пробелы
| >
| Все следующие за ним поля ввода преобразуют буквы к заглавным
| <
| Все следующие за ним поля ввода преобразуют буквы к строчным
| о
| Отменяет преобразование букв
|
TDrawGrid
Компонент TDrawGrid используется для отображения информации в виде таблицы. Таблица делится на две части - фиксированную и рабочую. Фиксированная часть служит для показа заголовков столбцов/рядов и для ручного управления их размерами. Рабочая часть содержит произвольное количество столбцов и рядов, содержащих как текстовую, так и графическую информацию, и может изменяться программно.
Property BorderStyle: TBorderStyle;
| Определяет наличие или отсутствие внешней рамки таблицы
| Property Col: Longint;
| Содержит номер столбца сфокусированной ячейки
| Property ColCount: Longint;
| Содержит количество столбцов таблицы
| Property ColWidths[lndex: Longint]: Integer;
| Содержит ширину столбца с индексом Index
| Property DefaultColWidth: Integer;
| Содержит умалчиваемое значение ширины столбца
| Property DefaultDrawing: boolean;
| Разрешает/запрещает автоматическую прорисовку служебных элементов таблицы-фиксированной зоны, фона и прямоугольника сфокусированной ячейки и т.п.
| Property DefaultRowHeight: Integer;
| Содержит умалчиваемую высоту рядов
| Property EditorMode: Boolean;
| Разрешает/запрещает редактирование ячеек. Игнорируется, если свойство Options включает goAlwayseShowEditor или не включает soEditing
| Property FixedColor: TColor:
| Определяет цвет фиксированной зоны
| Property FixedCols: Integer:
| Определяет количество столбцов фиксированной зоны
| Property FixedRows: Integer;
| Определяет количество рядов фиксированной зоны
| Property GridHeight: Integer;
| Содержит высоту таблицы
| Property GridLineWidth: Integer;
| Определяет толщину линий, расчерчивающих таблицу
| Property GridWidth: Integer;
| Содержит ширину таблицы
| Property LeftCol: Longint;
| Содержит номер самого левого столбца, видимого в зоне прокрутки
| Property Options: TGridOptions;
| Содержит параметры таблицы (см. ниже)
| Property Row: Longint;
| Содержит номер ряда сфокусированной ячейки
| Property RowCount: Lonqint:
| Содержит количество рядов таблицы
| Property RowHeights[lndex: Longint]: Integer;
| Содержит высоту ряда с индексом Index
| TGridRect = record
case Integer of
0: (Left, Top, Right/ Bottom: Longint);
1: (TopLeft, BottomRight: TGridCoord), end;
Property Selection: TGridRect;
| Определяет группу выделенных ячеек в координатах: левая верхняя и правая нижняя ячейки (нумерация столбцов и рядов идет от нуля, включая столбцы и ряды фиксированной зоны). После выделения сфокусированной окажется правая нижняя ячейка
| Property TabStops[Index: Longint]: Boolean;
| Разрешает/запрещает выбирать столбец с индексом Index при обходе ячеек клавишей Tab. Игнорируется, если Options не содержит goTabs
| Property TopRow: Longint;
| Содержит номер самого верхнего ряда, видимого в прокручиваемой зоне ячеек
| Property VisibleColCount: Integer;
| Содержит количество столбцов, полностью видимых в зоне прокрутки
| Property VisibleRowCount: Integer;
| Содержит количество рядов, полностью видимых в зоне прокрутки
|
Элементы множества TGridOptions имеют следующий смысл:
goFixedVertLine
| Столбцы фиксированной зоны разделяются вертикальными линиями
| goFixedHorzLine
| Ряды фиксированной зоны разделяются горизонтальными линиями
| goVertLine
| Столбцы рабочей зоны разделяются вертикальными линиями
| goHorzLine
| Ряды рабочей зоны разделяются горизонтальными линиями
| goRangeSelect
| Разрешено выделение нескольких ячеек. Игнорируется, если включен элемент goEdit
| GoDrawFocus-Selected
| Разрешено выделять сфокусированную ячейку так же, как выделенные.
| GoRowSizing
| Разрешено ручное (мышью) изменение высоты строк
| GoColSizing
| Разрешено ручное изменение ширины рядов
| GoRowMoving
| Разрешено ручное перемещение рядов
| goColMoving
| Разрешено ручное перемещение столбца
| goEditing
| Разрешено редактирование ячейки. Игнорируется, если включен элемент goRowSelect. Редактирование начинается после щелчка мыши или нажатия клавиши F2 и завершается при щелчке по другой ячейке или нажатии Enter
| goTabs
| Разрешено выбирать ячейки клавишей Tab (Shifts-Tab)
| goRowSelect
| Обязывает выделять сразу все ячейки ряда
| GoAlwaysShowEditor
| Разрешено редактировать сфокусированную ячейку. Игнорируется, если не включен элемент goEditing
| GoThumbTracking
| Разрешено обновление при прокрутке. Если этот элемент отсутствует, обновление ячеек произойдет только после окончания прокрутки
|
5. TStringGrid В отличие от компонента TStringGrid может отображать только текстовую информацию.
Property Cells[ACol, ARow: Integer]: string;
| Определяет содержимое ячейки с табличными координатами (ACol, ARow)
| Property Cols[Index: Integer]: TStrings;
| Содержит все строки колонки с индексом Index
| Property Objects [ACol, ARow: Integer]: TObject;
| Обеспечивает доступ к объекту, связанному с ячейкой (ACol, ARow)
| Property Rows[Index: Integer]: TStrings;
| Содержит все строки ряда с индексом Index
| 6. TImage Этот компонент служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растровой картинки, пиктограмм или метафайла. 7. TShape Компонент рисует одну из простейших геометрических фигур (прямоугольник, квадрат, скругленный прямоугольник, скругленный квадрат эллипс, окружность). 8. TBevel Предназначен для выделения группы элементов или отделения их друг для друга и носит чисто оформительский характер. 9. TScrollBox
Компонент является контейнером для размещения других компонентов, имеет возможность прокрутки. 10. TCheckListBox Группирует независимые переключатели, позволяя обратиться к любому из них по индексу.
Property AllowQrayed: Boolean;
| Разрешает (запрещает) использовать в переключателях третье состояние cbGrayed
| Property Checked[Index: Integer]: Boolean;
| Содержит выбор пользователя типа Да/Нет для переключателя с индексом Index. Состояния cbUnchecked и cbGrayed отражаются как False
| Property Sorted: Boolean:
| Сортирует по алфавиту надписи на переключателях
| Property State[Index: Integer]: TCheckBoxState;
| Содержит состояние переключателя с индексом Index: cbUncheeked; cbChecked: cbGrayed
| 11. TSplitter Предназначен для ручного (с помощью мыши) управления рaзмерами контейнеров TPanel, TGroupBox или подобных им во время прогона программы.
Property Beveled: Boolean;
| Управляет трехмерным изображением компонента. Если False, компонент виден как узкая полоска фона между разделяемыми им компонентами
| NaturalNumber = 1..High(Integer); Property MinSize: NaturalNumber
| Содержит минимальный размер любого из компонентов, которые разделяет TSplitter. Если выравнивание alLeft или alRight, минимальная ширина компонента - слева и справа от TSplitter, если аlTор или alBottom, минимальная высота компонента - выше или ниже него
|
12. TStaticText Подобен компоненту TLabel за исключением того, что, во-первых, он имеет Windows-окно и, во-вторых, в его свойстве BorderStyle: добавлено значение sbsSunken, которое создает иллюзию "вдавленности" компонента. 13. TChart
Облегчает создание специальных полей для графического представления данных. 4. Компоненты страницы DIALOGS Использование диалоговых панелей
Работа со стандартными диалоговыми окнами осуществляется в три этапа:
1. На форму помещается соответствующий компонент и осуществляется настройка его свойств. Следует обратить внимание на то, что компонент-диалог не виден в момент работы программы, видно лишь создаваемое им стандартное окно.
2. Осуществляется вызов стандартного для диалогов метода Execute, который создает и показывает настроенное окно на экране. Вызов этого метода обычно располагается внутри обработчика какого-либо события. После обращения к Execute на экране появляется соответствующее диалоговое окно. Окно диалога является м5дальным окном, поэтому сразу после обращения к нему дальнейшее выполнение программы приостанавливается до тех пор, пока пользователь не закроет окно.
3. Использование введенных из диалогового окна данных (имя файла, застройки принтера и т.д.) для продолжения работы программы. TOpenDialoguTSaveDialog
Эти компоненты имеют идентичные свойства и отличаются только внешним видом. Свойство FileName: (тип String) содержит маршрут поиска и имя выбранного файла при успешном завершении диалога программы. Для проверки наличия файла на диске -глобальная функция FileExists. Свойство Filter: String используется для фильтрации (отбора) файлов, показываемых в диалоговом окне. Это свойство можно устанавливать с помощью специального редактора или программно. Для доступа к редактору достаточно щелкнуть по кнопке в строке Filter окна инспектора объектов. При программном вводе фильтры задаются одной длинной строкой, в которой символы “|” служат для разделения фильтров друг от друга, а также для разделения описания фильтруемых файлов от соответствующей маски выбора. С помощью свойства DefaultExt: String[3] формируется полное имя файла, если при ручном вводе пользователь не указал расширение. В этом случае к имени файла прибавляется разделительная точка.
Настройка диалога может варьироваться с помощью свойства
TOpenOption = (of ReadOnly, ofOverwritePrompt, ofHideReadOnly,
ofNoChangeDir, ofShowHelp, ofNoValidate, ofAllowMultiSelect, ofExtensionDifferent, ofPathMustExist, ofFileMustExist, ofCreatePrompt, ofShareAware, ofNoReadOnlyRetuni.ofNoTestFileCreate, ofNoNetworkButton ofNoLongNames, ofOldStуleDialog, ofNoDereferenceLinks);
TOpenOptions = set of TOpenOption;
property Options: TOpenOptions;
Значения этого свойства имеют следующий смысл:
ofReadOnly
| Показывает только шрифты с набором символов Windows
| ofOverwritePromt
| Требует согласия пользователя при записи в существующий файл
| ofHideReadOnly
| Прячет переключатель. Только для чтения
| ofNochangeDir
| Запрещает смену каталога
| ofShowHelp
| Включает в окно кнопку HELP
| ofNoValidate
| Запрещает автоматическую проверку правильности набираемых в имени файла символов
| ofAllowMultiSelec
| Разрешает множественный выбор файлов
| ofExtensiondiffer
| При завершении диалога наличие этого значения в свойстве Options говорит о том, что пользователь ввел расширение, отличающееся от умалчиваемого
| ofPathMustExist
| Разрешает указывать файлы только из существующих каталогов
| ofFileMustExist
| Разрешает указывать только существующие файлы
| ofCreatePromt
| Требует подтверждения для создания несуществующего файла
| ofShareAware
| Разрешает выбирать файлы, используемые другими параллельно выполняемыми программами
| ofNoreadOnlyRetur
| Запрещает выбор файлов, имеющих атрибут “Только для чтения”
| ofNotestfileCreate
| Запрещает проверку доступности сетевого или локального диска
| ofNoNetworkButton
| Запрещает вставку кнопки для создания сетевого диска
| ofNoLongNames
| Запрещает использование длинных имен файлов
| ofOldStyleDialog
| Создает диалог в стиле Windows 3.х
|
TOpenPictureDialoguTSavePictureDialog
Специализированные диалоги для открытия и сохранения графических файлов являются расширенными вариантами компонентов TOpenDialog и TSaveDialog, в которых предусмотрено наличие стандартного фильтра для выбора графических файлов и панель предварительного просмотра. TFontDialog
Компонент используется для вызова стандартной диалоговой панели выбора шрифтов и их характеристик. Свойство Device определяет тип устройства, для которого выбирается fdScreen - экран; fdPrinter - принтер; fdBoth - шрифты, поддерживаемые и экраном, и принтером. Диапазон возможных значений размеров шрифтов определяется свойствами MinFontSize и MaxFontSize. Значения этих свойств задаются в пунктах (1 пункт равен приблизительно 0.36мм). Если свойства содержат 0, ограничения на размер шрифта отсутствуют. Свойство Options используется для настройки диалога. Значения этого свойства имеют следующий смысл:
fdAnsiOnly
| Показывает только шрифты с набором символов Windows
| fdTrueTypeOnly
| Показывает только TrueType-шрифты
| fdEffects
| Включает в окно переключатели "Подчеркнутый" и Зачеркнутый, а также список выбора цвета шрифта
| fdFixedPitchOnly
| Включает только моноширинные шрифты
| fdForceFontExist
| Предупреждает о выборе несуществующего шрифта
| fdNoFaceSel
| Запрещает выделение имени шрифта в момент открытия окна
| fdNoOEMFonts
| Запрещает выбор MS-DOS-шрифтов
| fdNoSimLlIations
| Исключает шрифты, которые синтезируются графическим интерфейсом Windows
| fdNoSizeSel
| Запрещает выделение размера шрифта в момент открытия окна
| fdNoStyleSel
| Запрещает выделение стиля шрифта в момент открытия окна
| fdNoVectorFonts
| Исключает векторные шрифты
| fdShowHelp
| Включает в диалоговое окно кнопку Help
| fdWysiwyg
| Включает шрифты, которые поддерживаются и экраном, и принтером
| fdLimitSize
| Включает ограничения на размер шрифта, заданные свойствами MaxFontSize и MinFontSize
| fdScalableOnly
| Включает только масштабируемые шрифты (векторные и TrueType)
| fdApplyButton
| Включает в окно кнопку "Применить"
|
TColorDialog Компонент используется для вызова и обслуживания стандарт диалогового окна выбора цвета. TPrintDialog
Компонент служит для создания стандартного диалогового окна для выбора параметров печати.
property Collate: Boolean;
| Если имеет значение True, то окно показывается с выбранным переключателем "Разобрать" (Collate). Если этот переключатель выбран, печать нескольких копий документа будет идти по копиям: сначала первая копия, затем вторая и т.д., в противном случае - по страницам: сначала все копии первой страницы, затем второй и т.д.
| property Copies: Integer;
| Определяет количество копий (0 - одна копия)
| property FromPage: Integer;
| Определяет начальную страницу печати
| property MaxPage: Integer;
| Определяет верхнюю границу диапазона страниц для свойств FromPage, ToPage
| property MinPage: Integer;
| Определяет нижнюю границу диапазона страниц для свойств FromPage, ToPage
| property Options: TPrintDialogOptions;
| Определяет настройку окна: роPrintToFile –печатать файл; poPageNums - разрешает выбор диапазона страниц; poSelection - разрешает печать выбранного текста; poWarning - предупреждать пользователя о неустановленном принтере; poHelp - вставить в окно кнопку Help; poDisablePrintToFile - запрещает печать файл
| property PrintRange: TPrintRange;
| Определяет диапазон печатаемых страниц: prAllPages - все страницы; prSelection - выделенный фрагмент текста; prPageNums - страницы по номерам
| property PrintToFile: Boolean;
| Содержит True, если пользователь выбрал печать в файл
| property ToPage: Integer;
| Определяет конечную страницу печати
|
TPrinterSetupDialog
Компонент создает окно настройки параметров принтера, вид которого зависит от типа принтера. Этот диалог взаимодействует с драйвером принтера и не возвращает в программу никакой информации, поэтому его метод Execute процедура, а не функция. TFindDialog
Стандартное диалоговое окно компонента TFindDialog используется для поиска фрагмента текста.
property FindText: string;
| Указывает образец для поиска
| property Left: Integer;
| Содержит горизонтальную позицию левого верхнего угла места появления окна
| property Options: TFindOptions:
| Определяет настройку диалога
| property Position: TPoint;
| Содержит горизонтальную и вертикальную позицию левого верхнего угла места появления окна
| property Top: Integer;
| Содержит вертикальную позицию левого верхнего угла места появления окна
| Для компонента определен следующий тип, использующийся в свойстве Options: TFindOptions.
Его значения имеют такой смысл:
FrDown
| Устанавливает поиск вперед по тексту
| frDown frFindNext
| Сообщает программе, что пользователь нажал кнопку "Найти далее"
| FrHideMatchCase
| Убирает выбор в переключателе "С учетом регистра"
| frHideWholeWord
| Убирает выбор в переключателе "Только слово целиком"
| frHideUpDown
| Прячет кнопки выбора направления поиска
| frMatchCase
| Устанавливает выбор в переключателе "С учетом регистра”
| frDisableMatchCase
| Запрещает выбор "С учетом регистра"
| frDisableUpDown
| Запрещает выбор направления поиска
| frDisableWholeWord
| Запрещает выбор. Только слово целиком
| frReplace
| Используется в компоненте TReplaceDialog и указывает на необходимость замены текущего выбора
| frReplaceAll
| Используется в компоненте TReplaceDialog и указывает на необходимость замены всех вхождений образца поиска
| frWholeWord
| Устанавливает выбор в переключателе "Только слово целиком"
| frShowHelp
| Включает в окно кнопку Help
|
TReplaceDialog
Компонент создает и обслуживает окно поиска и замены текстового фрагмента. Класс TReplaceDialog наследует большинство свойств клacca TFindDialog. Дополнительно в компоненте определено свойство ReplaceText (тип String), в котором содержится текст замены, и событие OnReplace, которое возникает при нажатии кнопки "Заменить" или "Заменить все".
|