Автор работы: Пользователь скрыл имя, 24 Мая 2013 в 16:39, реферат
В этом разделе не описаны расположенные на этой странице компоненты TDDEClient, TDDEClientItem, TDDEServer И TDDEServerItem.
Они рассчитаны на поддержку устаревшей технологии межпрограммного обмена данными DDE - Dynamic Data Exchange (динамический обмен данными), которая в современных программах полностью вытеснена технологией OLE.
Если разрешен множественный выбор, доступ к выбранным именам можно получить в свойстве Files: strings.
18.5.2. TOpenPictureDialog и TSavePictureDialog - диалоги открытия и сохранения изображений
Специализированные диалоги
TOpenDialog и TSaveDialog двумя обстоятельствами. Во-первых, в них предусмотрены стандартные фильтры для выбора графических файлов (с расширениями bmp, ico, wmf и emf) . Во-вторых, в окна диалога включены панели для предварительного просмотра выбираемого файла.
На рис. 18.39 показано стандартное окно компонента TOpenPictureDialog.
18.5.3. TFontDialog - диалог выбора шрифта
Компонент TFontDialog создает и обслуживает стандартное окно выбора шрифта (рис. 18.41). Свойство
TFontDialogDevice = (fdScreen, fdPrinter, fdBoth) ;
property Device: TFontDialogDevice;
определяет тип устройства, для которого выбирается шрифт:
fdScreen - экран; fdPrinter - принтер; fdBoth - шрифты, поддерживаемые и экраном, и принтером.
(Левая часть окна)
(Правая часть окно)
Рис. 18.39. Стандартное окно TopenPictureDialog
Рис. 18.40. Стандартное окно TFontDialog
Диапазон возможных значений размеров шрифтов определяется свойствами MinFontSize и MaxFontSize. Значения этих свойств задаются в пунктах (1 пункт равен1/72 дюйма, что приблизительно равно 0,36 мм). Если свойства содержат 0, ограничения на размер шрифта отсутствуют.
Свойство
TFontDialogOption = (fdAnsiOnly, fdTrueTypeOnly, fdEffects, fdFixedPitchOnly, fdForceFontExist, fdNoFaceSel, fdNoOEMFonts, fdNoSimulations, fdNoSizeSel, fdNoStyleSel, fdNoVectorFonts, fdShowHelp, fdWysiwyg, fdLimitSize, fdScalableOnly, fdApply-Button);
TFontDialogOptions = set of TFontDialogOption;
property Options: TFontDialogOptions;
используется для настройки диалога. Значения этого свойства имеют следующий смысл:
fdAnsiOnly |
Показывает только шрифты с набором символов Windows |
fdTrueTypeOnly |
Показывает только TrueType-шрифты |
fdEffects |
Включает в окно переключатели Подчеркнутый и Зачеркнутый, а также список выбора цвета шрифта только моноширинные шрифты |
fdFixedPitchOnly |
Включает только моноширинные шрифты |
fdForceFontExist |
Предупреждает о выборе несуществующего шрифта |
fdNoFaceSel |
Запрещает выделение имени шрифта в момент открытия окна |
fdNoOEMFonts |
Запрещает выбор MS-DOS-шрифтов |
fdNoSimulations |
Исключает шрифты, которые синтезируются графическим интерфейсом Windows |
fdNoSizeSel |
Запрещает выделение размера шрифта в момент открытия окна |
fdNoStyleSel |
Запрещает выделение стиля шрифта в момент открытия окна |
fdNoVectorFonts |
Исключает векторные шрифты (шрифты для Windows версии 1.0; используются в плоттерах) |
fdShowHelp |
Включает в диалоговое окно кнопку Help шрифты, которые поддерживаются и экраном, и принтером |
fdWysiwyg |
Включает шрифты, которые поддерживаются и экраном, и принтером |
fdLimitSize |
Включает ограничения на размер шрифта, заданные свойствами MaxFontSize И MinFontSize |
fdScalableOnly |
Включает только масштабируемые шрифты (векторные и TrueType) |
fdApplyButton |
Включает в окно кнопку применить |
Результат выбора шрифта содержит свойство Font.
18.5.4. TColorDialog - диалог выбора цвета
Компонент создает и обслуживает стандартное диалоговое окно выбора цвета, показанное на рис. 18.42.
Свойства компонента:
property Color: TColor; |
Содержит выбранный цвет |
property CustomColors: TStrings; |
Содержит до 16 цветов, определенных пользователем. Каждая строка имеет такой формат: Со1огх=нннннн, где х - буква от а до р, определяющая номер цвета, нннннн ~ шестнадцатеричное представление цвета в формате rgb |
TColorDialogOption = (cdFullOpen, cdPreventFullOpen, cdShowHelp, cdSolidColor, cdAnyColor) ; TColorDialogOptions = set of TColorDialogOption; property Options: TColorDialogOptions; |
Определяет настройку окна: cdFullOpen -показывать с развернутым окном выбора цвета пользователя; cdPreventFullOpen -запретить показ окна выбора цвета пользователя; cdShowHelp - включить в окно кнопку Help; cdSolidColor - выбирать ближайший сплошной цвет; cdAnyColor -разрешить выбор не сплошных цветов |
Рис. 18.41. Стандартное окно компонента TColorDialog
18.5.5. TPrintDialog - диалог настройки параметров печати
Компонент TPrintDialog создает стандартное диалоговое окно для выбора параметров печати, показанное на рис. 18.42.
Рис. 18.42. Стандартное окно компонента TPrintDialog
Свойства компонента:
property Collate: Boolean;
|
Если имеет значение True, окно показывается с выбранным переключателем разобрать (collate). Если этот переключатель выбран, печать нескольких копии документа будет идти по копиям: сначала первая копия, затем вторая и т. д., в противном случае - по страницам: сначала все копии первой страницы, затем второй и т. д |
property Copies: Integer; |
Определяет количество копии (0 - одна копия) |
property FromPage: Integer |
Определяет начальную страницу печати |
property MaxPage: Integers; |
Определяет верхнюю границу диапазона страниц для свойств FromPage, ToPage |
property MinPage: Integer; |
Определяет нижнюю границу диапазона страниц для свойств FromPage, ToPage |
TPrintDialogOption = (poPrintToFile, poPageNums, poSe- lection, poWarning, poHelp, poDisablePrintToFile) ; TPrintDialogOptions = set of TPrintDialogOption; property Options: TPrintDialogOptions; |
Определяет настройку окна: poPrintToFile - печатать в файл; poPrintToFile - разрешает выбор диапазона страниц; poSelection - разрешает печать выбранного текста; poWarning - предупреждать пользователя о неустановленном принтере; poHelp вставить в окно кнопку Help; poDisablePrintToFile - запрещает печать в файл |
TPrintRange = (prAllPages, prSelection, prPageNums) ; property PrintRange: TPrintRange; |
Определяет диапазон печатаемых страниц: prAllPages - все страницы; preelection - выделенный фрагмент текста; prPageNums - страницы по номерам |
property PrintToFile: Boolean; |
Содержит True, если пользователь выбрал печать в файл |
property ToPage: Integer; |
Определяет конечную страницу печати |
18.5.6. TPrinterSetupDialog - диалог настройки параметров принтера
Компонент создает окно настройки параметров принтера, вид которого зависит от типа принтера. Этот диалог взаимодействует с драйвером принтера и не возвращает в программу никакой информации, поэтому его метод Execute - процедура, а не функция.
18.5.7. TFindDialog - диалог поиска
Стандартное диалоговое окно компонента TFindDialog используется для поиска фрагмента текста (рис. 18.43).
Свойства компонента:
property FindText: String; |
Указывает образец для поиска |
property Left: Integer; |
Содержит горизонтальную позицию левого верхнего угла места появления окна |
property Options: TFindOptions; |
Определяет настройку диалога (см. ниже) |
property Position: TPoint; |
Содержит горизонтальную и вертикальную позицию левого верхнего угла места появления окна |
property Top: Integer; |
Содержит вертикальную позицию левого верхнего угла места появления окна |
Для компонента определен следующий тип, использующийся в свойстве options:
TFindOption = (frDown, frFindNext, frHideMatchCase, frHideWholeWord, frHideUpDown, frMatchCase, frDisableMatchCase, frDisableUpDown, frDisableWholeWord, frReplace, frReplaceAll, frWholeWord, frShowHelp) ;
TFindOptions = set of TFindOption;
Рис. 18.43. Стандартное окно компонента TFindDialog
Его значения имеют следующий смысл:
frDown frFindNext |
Устанавливает поиск вперед по тексту |
frHideMatchCase |
Сообщает программе, что пользователь нажал кнопку Найти далее Убирает выбор в переключателе с учетом регистра |
frHideWholeWord |
Убирает выбор в переключателе только слово целиком |
frHideUpDown |
Прячет кнопки выбора направления поиска |
frMatchCase |
Устанавливает выбор в переключателе с учетом регистра |
frDisableMatchCase |
Запрещает выбор С учетом регистра |
frDisableUpDown |
Запрещает выбор направления поиска |
frDisableWholeWord |
Запрещает выбор только слово целиком |
frReplace |
Используется в компоненте TReplacteDialog и указывает на необходимость замены текущего выбора |
frReplaceAll |
Используется в компоненте TreplaceDialog и указывает на необходимость замены всех вхождений образца поиска |
frWholeWord |
Устанавливает выбор в переключателе Только слово целиком. |
frShowHelp |
Включает в окно кнопку Help |
Спецификой диалога является реализуемая им возможность просмотра найденного фрагмента и при необходимости продолжение поиска. С этой целью для компонента определено событие OnFind:
TNotifyEvent, которое возникает всякий
раз, когда пользователь
procedure TFormI.FindDialoglFind(Sender: TObject);
var
SelPos: Integer;
begin
with TFindDialog(Sender) do
begin
// Ищем фрагмент в тексте
SelPos := Pos(FindText, Memol-Lines.Text);
if SelPos > 0 then
begin // Фрагмент найден - выделяем его
Memol.SelStart := SelPos - 1;
Memol.SelLength := Length(FindText);
end
else
ShowMessage ('Текст "' + FindText + '"не найден')
end;
end;
18.5.8. TReplaceDialog - диалог поиска и замены
Компонент TReplaceDialog создает и обслуживает окно поиска и замены текстового фрагмента (см. рис. 18.44).
Рис. 18.44. Стандартное окно компонента TReplaceDialog
Класс TReplaceDialog является прямым потомком класса TFindDialog и наследует от него большинство свойств. Дополнительно в компоненте определено свойство RepiaceText: string, в котором содержится текст замены, и событие OnRepiace, которое возникает
При нажатии кнопки заменить или заменить все.
18.6. КОМПОНЕНТЫ СТРАНИЦЫ WIN3.1
Многие компоненты страницы win3.1 имеют более совершенные аналоги в виде компонентов страницы Win32. Если вы работаете с windows 32, рекомендуется использовать вместо компонентов Win 3.1 компоненты Win32.
18.6.1. TTabSet - набор закладок
Компонент TTabSet представляет собой набор закладок. В отличие от компонента TTabControl он не может служить контейнером для размещения других компонентов и поэтому обычно работает совместно с каким-либо компонентом-контейнером (чаще всего - с TNotebook).
Свойства компонента:
property AutoScroll: Boolean; |
Разрешает/запрещает появление стрелок прокрутки, если закладки не умещаются целиком в границах компонента |
property BackgroundColor: TColor; |
Определяет цвет фона закладок |
property DitherBackground: Boolean; |
Если содержит True, уменьшается насыщенность цвета BackgroundColor |
property EndMargin: Integer; |
Отступ закладок от правой границы компонента |
property Firstlndex: Integer; |
Содержит индекс самой левой закладки, целиком видимой на экране |
property SelectedColor: TColor; |
Содержит цвет выбранной закладки (обычно совпадает с цветом связанного компонента-контейнера) |
property StartMargin: Integer; TTabStyle = (tsStandard, tsOwnerDraw); |
Отступ закладок от левой границы компонента |
property Style: TTabStyle; |
Определяет способ прорисовки закладок: tsStandard - автоматический; tsOwnerDraw - программный |
property TabHeight: Integer, |
Определяет высоту закладок в пикселях |
property Tablndex: Integer; |
Содержит индекс выбранной закладки (индексация начинается с 0) |
property UnselectedColor: TColor; |
Определяет цвет невыбранных закладок |
property VisibleTabs: Integer; |
Содержит количество закладок, целиком видимых в границах компонента |
Методы компонента: | |
function ItemAtPos(Pos: TPoint): Integer; |
Возвращает индекс закладки, которой принадлежит точка Pos |
function ItemRect(Item: Integer): TRect; |
Возвращает прямоугольник |
procedure SelectNext(Direction: Boolean) ; |
Смещает выбор к соседней закладке: Direction - направление смещения (True - вправо) |
Для компонента определены следующие события: | |
TTabChangEvent = procedure (Sender: TObject; NewTab: Integer; var AllowChange: Boolean) of object; |
Возникает перед сменой выбранной закладки: NewTab - индекс закладки, которая будет выбрана. В параметре AllowChange обработчик должен разрешить или запретить выбор закладки |
property OnChange: TTabChangingEvent; TDrawTabEvent = procedure(Sender: TObject; TabCanvas: TCanvas; R: TRect; Index: Integer; Selected: Boolean) of object; |
Возникает при необходимости прорисовать закладку с индексом index, если она имеет стиль tsOwnerDraw: TabCanvas - канва для прорисовки; Selected - содержит True для выбранной закладки |
property OnDrawTab: TDrawTabEvent; TMeasureTabEvent = procedure(Sender: TObject; Index: Integer; var TabWidth: Integer) of object-property OnMeasureTab: TMeasureTabEvent; |
Возникает перед прорисовкой закладки с индексом index, если она имеет стиль tsOwnerDraw. В параметре TabWidth обработчик должен вернуть ширину закладки |
Как уже говорилось, часто компонент TTabSet связывается с компонентом TNotebook для организации многостраничного блокнота с закладками. В этом случае в обработчике событий OnChange или
OnClick компонента следует предусмотре
procedure TFormI.TabSetlChange(Sender: TObject;
NewTab: Integer;
var AllowChange: Boolean);
begin
AllowChange := True; // Разрешаем смену закладки
Notebookl.Pagelndex := NewTab // Меняем страницу блокнота
end;
18.6.2. TNotebook - набор страниц
Многостраничный контейнер TNotebook обычно работает в паре с TTabSet и предназначен для размещения других компонентов на нескольких перекрывающих друг друга страницах (панелях).
Свойства компонента:
property ActivePage: Strings; |
Определяет имя верхней |
property Pagelndex: Integers; |
Содержит индекс верхней страницы блокнота |
property Pages: TStrings; |
Содержит набор строк с |
Ключевым свойством является Pages. С помощью его методов Add, Delete, Find и т. д. можно добавлять и удалять страницы, отыскивать Нужную и т. д. (см. класс TStrings).
Для компонента определено событие
property OnChange: TNotifyEvent;
которое возникает при смене страницы.
18.6.3. TTabbedNotebook - набор страниц с закладками
Компонент TTabbedNotebook представляет собой
объединение TTabSet и TNotebook в готовый
многостраничный блокнот с
Свойства ActivePage, Pagelndex И Pages компонента совпадают c одноименными свойствами компонента TNotebook. Свойство property TabsPerRow: Integer; определяет количество закладок в одном ряду.
С помощью метода function GetIndexForPage(const PageName: String): Integer; программа может получить индекс страницы по ее имени PageName.
18.6.4. TOutLine - просмотр иерархических структур
Подобно компоненту TTreeview страницы Win32 компонент Tout-Line предназначен для отображения иерархических структур данных (каталогов, например). Элементом отображения является узел. Каждый узел имеет родительский узел и дочерние узлы. Исключение составляет узел самого верхнего уровня (он не имеет родительского узла) и узлы самых нижних уровней (они не имеют дочерних узлов),
Для каждого узла компонент создает объект класса TOutLineNode. Его свойства:
property Data: Pointers; |
Указатель на связанные с узлом данные |
property Expanded: Boolean; |
Если содержит True, с узлом связан раскрытый список дочерних узлов |
property FullPath: String; |
Содержит полное имя узла со списком имен всех родительских узлов, разделенных символом ItemSeparator объекта ToutLine |
property Hasltems: Boolean; |
Содержит True, если с узлом связаны дочерние узлы |
property Index: Longint; |
Содержит уникальный идентификатор узла в компоненте ToutLine |
property IsVisible: Boolean; |
Содержит True, если узел виден в окне компонента ToutLine |
property Level: Integer;
|
Определяет уровень иерархии узла. Узел самого верхнего уровня имеет уровень 0, его дочерние узлы - уровень 1, их дочерние узлы - уровень 2 и т. д. |
property Text: String; |
Определяет имя узла |
property Topltem: Longint;
|
Содержит индекс своего родительского узла первого уровня (родительский узел нулевого уровня не виден в компоненте TOutLine) |