Правильная ссылка на эту страницу
http://az-design.ru/Support/SoftWare/Delphi/D3/SB45.shtml

Глава 45. TSpeedButton и его производные

  • Создание панелей инструментов в Delphi

       Быстрые кнопки — это неоконные элементы управления, которые непосредственно не инкапсулируют что-либо из Windows API. Как и неоконные кнопки, они могут использоваться в тех областях, где нежелательны непроизводительные затраты, связанные с использованием оконных кнопок. Быстрые кнопки часто используются программистами Delphi для создания панелей инструментов, как будет показано ниже. Класс TSpeedButton позволяет создавать кнопки с глифами и/или заголовками, аналогичные растровым кнопкам (объекты TBitBtn), хотя они требуют меньше ресурсов и не могут получить фокус ввода. Класс TBitBtn рассматривается в главе 63, "TButtonControl и его производные".

Создание панелей инструментов в Delphi
       Одним из немногих элементов пользовательского интерфейса, который Delphi 2 не поддерживает непосредственно, является панель инструментов. Однако, поддержка панели инструментов была добавлена в Delphi 3. Панель инструментов содержит строку непомеченных кнопок, которые можно идентифицировать либо по графическим изображениям на их лицевой стороне, либо через подсказки. Многие прикладные программ Windows, подобные Explorer и Word for Windows, имеют панели инструментов, а среда программирования, аналогичная Visual C++ и Visual Basic, поддерживает их изначально. К счастью можно создать панели инструментов в Delphi посредством элемента управления панели и совокупности быстрых кнопок. На рисунке 45-1 показана типовая панель инструментов.
       Для реализации в Delphi 2 панели инструментов следует создать меню (при необходимости) и поместить на форму панель. Установите ее свойство Align в Тор. Затем добавьте требуемые быстрые кнопки и соответствующим образом разместите их. Обычно если в прикладной программе имеется меню, кнопки на панели инструментов дублируют функциональность ряда пунктов меню, подобных Open, Save и New.
       В связи с этим можно заставить обработчики событий OnClick быстрых кнопок вызывать обработчики событий OnClick для пунктов меню, функциональные возможности которых они дублируют:

Листинг 45-1. Обработчик событий быстрой кнопки, который вызывает обработчик событий пункта меню

procedure TForm1.sbNewClick(Sender: TObject);
begin
// Вызвать обработчик OnClick для пункта меню New, отправив
// эту быструю кнопку в качестве параметра Sender
   Newl.Click(sbNew);

end;

Панель инструментов
РИСУНОК 45-1. Панель инструментов

Панель инструментов Delphi
РИСУНОК 45-2. Панель инструментов Delphi

Ветвь TSpeedButton библиотеки VCL
РИСУНОК 45-3. Ветвь TSpeedButton библиотеки VCL

       На рисунке 45-2 показана простая панель инструментов, созданная при помощи Delphi. На рисунке 45-3 показана ветвь TSpeedButton библиотеки VCL. В таблице 45-1 отображены свойства, методы и события, реализованные TSpeedButton.

Таблица 45-1. Свойства, методы и события, реализованные классом TSpeedButton

Используйте или установите это ... Чтобы сделать это... Наследование
Align Определить, как элемент управления выровнен внутри своего родителя. TControl
AllowAIIUp Определить, можно ли отменить выбор всех сгруппированных кнопок. Нет
Assign Присвоить один устойчивый объект другому. TPersistent
BeginDrag Начать операцию перетаскивания вручную. TControl
BoundsRect Определить граничный прямоугольник, занятый элементом управления. TControl
BringToFront Перенести элемент управления поверх согласно z-порядку. TControl
Canvas Получить доступ к поверхности рисования графического элемента управления. TGraphicControl
Caption Определить текст, который появится на лицевой стороне кнопки. TControl
ClassName Получить имя класса данного объекта. TObject
ClassParent Получить родительский кпасс объекта. TObject
ClassType Получить фактический тип объекта. TObject
Click Моделировать событие OnClick. TControl
ClientHeight Определить высоту клиента элемента управления. TControl
ClientOrigin Определить левую верхнюю позицию клиентской области элемента управления TControl
ClientRect Определить прямоугольник, занятый клиентской областью элемента управления. TControl
ClientToScreen Преобразовать координаты элемента управления (локальные) в экранные. TControl
ClientWidth Определить ширину клиентской области элемента управления. TControl
Color Определить цвет фона элемента управления. TControl
ComponentCount Определить количество компонентов, находящихся во владении. TComponent
Componentlndex Индекс компонента в списке Components его владельца. TComponent
Components Определить список компонентов, находящихся во владении. TComponent
ComponentState Определить состояние текущего компонента. TComponent
ControlState Определить состояние элемента управления в любой момент времени. TControl
ControlStyle Определить, какие атрибуты присутствуют в элементе управления. TControl
Create Создать новый компонент. TObject
Cursor Определить, какое изображение используется для курсора, находящегося над элементом управления. TControl
Destroy Разрушить компонент. TObject
DestroyComponents Разрушить все компоненты, принадлежащие данному. TComponent
Destroying Известить компонент уничтожении. TComponent
Down Определить, выбрана ли кнопка. Нет
DragCursor Определить форму курсора мыши на время перетаскивания объекта над элементом управления. TControl
Dragging Определить, перетаскивается ли элемент управления. TControl
DragMode Определить поведение элемента управления при перетаскивании. TControl
Enabled Определить, доступна ли кнопка. TControl
EndDrag Конец или отмена операции перетаскивания вручную. TControl
FindComponent Найти компонент в списке массива Components. TComponent
Font Определить шрифт, используемый для вывода текста элемента управления. TControl
Free Безопасно уничтожить объект. TObject
GetTextBuf Скопировать текст элемента управления в буфер. TControl
GetTextLen Получить длину текста элемента управления. TControl
Glyph Определить изображение или изображения, используемые на кнопке. Нет
Grouplndex Определить, членом какой группы является кнопка, если только это имеет место. Нет
Height Определить высоту элемента управления. TControl
Hide Сделать элемент управления невидимым. TControl
Hint Определить текст, который отображается в подсказке для элемента управления. TControl
InheritsFrom Определить, происходит ли объект от определенного класса. TObject
InstanceSize Определить объем памяти, распределенной для объекта. TObject
Invalidate Вынудить элемент управления перерисоваться при первой возможности. TControl
Layout Определить, где глиф будет появляться на лицевой поверхности кнопки. Нет
Left Определить левый край элемента управления внутри контейнера. TControl
Margin Определить расстояние между глифом и краем кнопки. Нет
Name Определить имя компонента. TComponent
NumGlyphs Определить, сколько изображений используется в глифе. Нет
OnClick Указать, что происходит при щелчке на кнопке. TControl
OnDblClick Указать, что происходит при двойном щелчке на кнопке. TControl
OnDragDrop Обработать событие, которое происходит при опускании объекта на элемент управления. TControl
OnDragOver Обработать событие, которое происходит при перетаскивании объекта над элементом управления. TControl
OnEndDrag Обработать событие, которое происходит при отмене операции перетаскивания. TControl
OnMouseDown Указать, что происходит, когда будет произведен щелчок на кнопке и кнопка не будет отпущена. TControl
OnMouseMove Обработать событие, которое происходит, когда курсор перемещается над элементом управления. TControl
OnMouseUp Обработать событие, которое происходит, когда отпущена кнопка мыши. TControl
OnStartDrag Обработать событие, которое происходит, когда начата операция перетаскивания. TControl
Owner Определить владельца компонента. TComponent
Paint Вывести изображение графического элемента управления. TGraphicControl
Parent Определить родителя или контейнер элемента управления. TControl
ParentColor Определить, используется ли информация Color родителя элемента управления. TControl
ParentFont Определить, используется ли информация Font родителя элемента управления. TControl
ParentShowHint Определить, использует ли эта кнопка ShowHint своего родителя. TControl
PopupMenu Определить всплывающее меню, связанное с элементом управления. TControl
Refresh Стереть элемент управления и перерисовать его. TControl
Repaint Перерисовать элемент управления. TControl
ScreenToClient Преобразовать экранные координаты в клиентские координаты (элемента управления). TControl
SendToBack Послать элемент управления в конец z-порядка. TControl
SetBounds Определить координаты ограничивающего прямоугольника элемента управления. TControl
SetTextBuf Установить текст элемента управления из буфера. TControl
Show Сделать элемент управления видимым. TControl
ShowHint Определить необходимость отображения подсказки. TControl
Spacing Определить, как будут выглядеть на кнопке текст и глиф. Нет
Tag Сохранить вместе с компонентом дополнительное целочисленное значение. TComponent
Text Обратиться к изменяемому тексту на элементе управления. TControl
Top Определить верхний край элемента управления. TControl
Update Метод Update автоматически вызывается методом Refresh. TControl
Visible Определить, является ли кнопка видимой. TControl
Width Определить ширину элемента управления. TControl

Свойство AllowAllUp

Свойство Down

Свойство Glyph

Свойство GroupIndex

Свойство Layout

Свойство Margin

Свойство NumGlyphs

Свойство Spacing

уже скачали 102 раз.


<<< Пред. Оглавление
Начало раздела
След. >>>




Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:55 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/SoftWare/Delphi/D3/SB45.shtml