Шупрута В.В. - Delphi 2005 - Учимся программировать (1080891), страница 44
Текст из файла (страница 44)
Свойство может принимать значения S i n g l e (обычная рамка)или None (рамка отсутствует)ReadonlyСвойство, определяющее, будет ли использоваться компонент только для чтения. Еслисвойство установлено в False, то ввод данных разрешается, в противном случае вводбудет запрещенКомпоненты TButton и TBitBtnКомпонент TButton является последним из рассмотренных нами ранее компонентов. Он представляет собой командную кнопку.
Свойства компонентаприведены в табл. 7.4.Компоненты TButton и TBitBtn•Таблица 7.4 т Основные свойства компонента T B u t t o nСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и его свойствамCaptionТекст, отображаемый на кнопкеFontШрифт, который используется для отображения текстаLeftРасстояние от левой границы формы до левой границы компонентаТорРасстояние от верхней границы формы до верхней границы компонентаwidthШирина поля компонентаHeightВысота поля компонентаEnabledПризнак доступности кнопки. Кнопка доступна, если значение свойства равно True, еслиже оно равно False - кнопка недоступнаVisibleПризнак видимости кнопки на поверхности формы. Если значение свойства равно True кнопка отображается, в противном случае - кнопка невидимаОсновным отличием компонента TButton от его аналога в .NET (компонента Button) является невозможность отображения картинки на кнопке.Следующий компонент, который будет нами рассмотрен, - TBitBtn - также является командной кнопкой.
Этот компонент более универсален, основное его отличие от предыдущего компонента заключается в том, что он может содержать картинку. Основные свойства компонента TBitBtn приведеныв табл. 7.5.Таблица 7.5 » Основные свойства компонента T B i t B t nСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и его свойствамCaptionТекст, отображаемый на кнопкеFontШрифт, используемый для отображения текстаLeftРасстояние от левой границы формы до левой границы компонента._ТорРасстояние от верхней границы формы до верхней границы компонентаWidthШирина поля компонентаHeightВысота поля компонентаEnabledПризнак доступности кнопки.
Кнопка доступна, если значение свойства равно True, еслиже оно равно False - кнопка недоступнаVisibleGlyphПризнак видимости кнопки на поверхности формы. Если значение свойства равно True,кнопка отображается, в противном случае кнопка невидимаКартинка, отображаемая на кнопке (файл изображения)NumGlyphsКоличество картинок в файле изображения, указанного в свойстве GlyphLayoutСвойство, определяющее взаимоположения картинки и текста на кнопке. Свойство можетпринимать следующие значения: b l G l y p h L e f t - картинка располагается слева6т надписи, b l G l y p h R i g h t - справа, blGlyphTop - сверху, blGlyphBottom - снизуSpacingРасстояние от картинки до надписи, задаваемое в пикселяхГЛАВА 7 т Основные компоненты при программировании для Win32(None)Рис. 7.2 • Добавление картинки в кнопку B i t B t nКак видно из табл.
7.5, кнопка может содержать картинку. Добавить ее можно двумя способами - во время разработки формы и во время выполнения программы.В первом случае необходимо в строке свойства Glyph окна ObjectInspector нажать кнопку с тремя точками. После этого в появившемся окнеPicture Editor (Редактор картинок) необходимо нажать на кнопку Load и указать файл формата bmp (рис.
7.2). Отметьте для себя, что в отличие от компонента Button для .NET никаких других форматов изображений не поддерживается.Во втором случае надо воспользоваться методом LoadFromFile, указав вкачестве параметра имя файла изображения:BitBtnl.Glypth.LoadFromFile('example.bmp');Компонент TImageListКомпонент TImageList представляет собой контейнер, содержащий наборкартинок. Эти картинки могут быть использованы другими компонентами(например, TToolBar). Компонент не отображается в процессе выполненияпрограммы, то есть является невизуальным. Если вы попробуете добавитькомпонент TImageList в проект, то он будет перенесен на форму, но впроцессе работы программы вы его не увидите.Основные свойства этого компонента приведены ниже в табл. 7.6.Компонент TlmageList•Таблица 7.6 т Основные свойства компонента T l m a g e L i s tСвойствоКомментарийNamewidthИмя компонента, используемое в программе для доступа к компоненту и его свойствамШирина картинок коллекцииHeightВысота картинок коллекцииНабор картинок формируется во время разработки формы из заранееподготовленных картинок.
Для добавления картинки в компонент необходимовыбрать его в окне Design, нажать правую кнопку мыши и в появившемсяконтекстном меню выбрать пункт ImageList Editor (Редактор спискакартинок). Перед вами появится окно редактора свойств (рис. 7.3), в которомдля добавления картинки в список следует нажать кнопку Add. В список можнодобавлять картинки в формате bmp и ico. Все картинки должны быть одногоразмера и иметь одинаковый цвет фона.При добавлении очередной картинки в список требуется также указатьстиль ее отображения, который может быть трех типов:>• Crop - обычный стиль отображения;>• S t r e t c h - растягивание (сжатие) картинки до размеров Width иHeight компонента;>• C e n t e r - картинка центрируется без изменения размеров.Рис.
7.3 т Добавление картинок в коллекциюСледует также обратить внимание на то, что список картинок объектахранится в файле ресурсов проекта. Преобразование картинок осуществляетсяпрограммой ImageList Editor, при этом исходные файлы картинок для работыпрограммы не нужны.ГЛАВА 7 Т Основные компоненты при программировании для Win32Картинки в компонент TImageLi s t можно добавить и программным путем.Для этого существует четыре метода, представленных в табл. 7.7.Таблица 7.7 т Добавление картинок в компонент TimageL i s t во время выполненияпрограммыМетодОписаниеfunction Add(Image: TBitmap, Mask :TBitmap): Integer;Добавляет в TlmageList новую картинку, используямаску, указанную в параметре Mask.
В качестве маскиможно передавать Nil. Функция возвращает индексдобавленной картинкиДобавляет в TImageList новую картинку, используяцвет, указанный в параметре MaskColor длясоздания маски, функция возвращает индексдобавленной картинкиДобавляет в TImageList. новую картинку, создаваяfunction AddMasked!Image: TBitmapMaskColor: TColor): Integer;function Addlcon (Image: Tlcon) : Integer;procedure Addlmages (Value:TCustomlmageList);ее из иконки.
Так как иконка уже содержит маску, тоее указание не требуется. Функция возвращаетиндекс добавленной картинкиКопирует картинки из другого TImageList в текущий.В качестве источника картинок может быть передануказатель на любого наследника TCustomlmageList,например TImageListКроме того, во время выполнения программы можно воспользоватьсяметодом GetBitmap, который извлекает картинку в заранее созданный объектTbitmap, и назначить его другому компоненту или отрисовать на форме илидругом компоненте. Как уже говорилось, кнопка TBitBtn не поддерживаетназначение картинки из T I m a g e L i s t , однако приведенный ниже примерпозволяет это сделать:procedure TForml.FormCreate(Sender: TObject);beginImageListl.GetBitmap(O.BitBtnl.Glyph);ImageListl.GetBitmap(l,BitBtn2.Glyph);end;He забудьте, что индекс картинок в компоненте TImageList начинается с нуля.Компонент TPanelКомпонент TPanel представляет собой контейнер для других компонентов ипозволяет легко управлять компонентами, которые находятся на панели.
КакКомпонент TPanelи в случае использования компонента P a n e l для .NET, компоненты, находящиеся на панели, наследуют свойства компонента TPanel. Например,чтобы сделать недоступными все компоненты на панели, достаточноприсвоить значение F a l s e свойству Enabled панели. Свойства компонентаTPanel приведены в табл. 7.8.Таблица 7.8 т Основные свойства компонента TPanelСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и егосвойствамCaptionТекст в поле компонентаColorЦвет поля компонентаEnabledСвойство позволяет сделать доступными (Enabled=True) или недоступнымиVisibleСвойство позволяет отображать ( V i s i b l e = T r u e ) и скрывать ( y i s i b l e = F a l s e ) панельAlignОпределяет границу формы, к которой «прикреплена» панель.
Панель может бытьприкреплена к верхней (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Задает шрифт панели. Все элементы, размещенные на панели, будут иметь указанный(Enabled=False) все компоненты, которые размещены на панелишрифтLeftРасстояние от левой границы формы до левой границы компонентаторРасстояние от верхней границы формы до верхней границы компонентаWidthШирина поля компонентаHeightВысота поля компонентаИз перечисленных в табл.