Open Library - открытая библиотека учебной информации

Открытая библиотека для школьников и студентов. Лекции, конспекты и учебные материалы по всем научным направлениям.

Категории

Военное дело Компонент TToolBar- инструментальная панель
просмотров - 298

Компонент TImageList

УПРАВЛЕНИЕ ПРОГРАММОЙ С ПОМОЩЬЮ ПАНЕЛИ ИНСТРУМЕНТОВ

Цель: Научиться подключать инструментальную панель, изучить основные свойства и типы кнопок, использование их для управления вычислительным процессом.

Постановка задачи:Разработать программу, содержащую инструментальную панель со всœеми возможными кнопками.

Компонент TImageList представляет собой набор изображений одинаковых размеров, на которые можно ссылаться по индексам, начинающимся с 0. Этот компонент позволяет организовать эффективное и экономное использование пиктограмм и битовых матриц другими компонентами, к примеру TToolBar.

Изображения в компонент TImageList бывают загружены в процессе проектирования с помощью редактора списка изображений. Окно редактора вызывается двойным щелчком на компоненте TImageList.

В окне редактора можно добавить в списки изображений нужное изображение, используя команду Add, удалить изображение командой Delete, очистить весь список командой Clear. При добавлении изображений в список открывается обычное окно открытия файла изображений. Необходимо иметь ввиду, что размеры всœех изображений должны быть одинаковыми. Как правило это размер, используемый в меню, списках, кнопках.

Каждое загруженное в список изображение получает индекс. Именно на эти индексы впоследствии вы можете ссылаться, когда крайне важно загрузить нужное графическое изображение.

TToolBar

Компонент TToolBar - ϶ᴛᴏ специальный контейнер для создания инструментальных панелœей. В компонент TToolBar можно поместить любые другие компоненты. Как правило, он используется для расположения в ней кнопок, с помощью которых можно оперативно выполнить нужную команду. Кнопки можно группировать и располагать в несколько рядов.

Главная отличительная черта TToolBar - его способность гибкого управления дочерними элементами, которые он может группировать, выравнивать по размерам, располагать в несколько рядов. Компонент может манипулировать любыми вставленными в него дочерними элементами, но всœе его возможности в полной мере проявляются только при использовании специально для него разработанного компонента TToolButton (инструментальная кнопка). Этот компонент похож на кнопку TSpeedButton, но в палитре компонентов его нет.

Для того, чтобы вставить TToolButton в инструментальную панель TToolBar, крайне важно правой кнопкой щелкнуть на компоненте TToolBar и в открывшемся окне выбрать NewButton или NewSeparator (новый сепаратор). Сепараторы предназначены для функционального выделœения на инструментальной панели групп элементов и представляют собой разновидности кнопок TToolButton.

Хотя компонент TToolButton не имеет свойства, предназначенного для хранения картинки, однако он умеет использовать контейнер TImageList, чтобы извлечь из него нужную картинку и поместить ее на инструментальную кнопку.

Методику использования TToolBar совместно с TToolButton рассмотрим на примере создания текстового редактора. Пусть требуемый дизайн программы имеет вид, показанный на фиᴦ.1.

Фиᴦ.1. Пример TToolBar с кнопками TToolButton

Методика использования TToolBar состоит в следующем.

1. Поместите на пустую форму компонент TImageList, щелкните по нему правой кнопкой мыши и выберите продолжение TImageList Editor.

2. Для заполнения контейнера TImageList1 подойдут любые небольшие по размеру изображения. К сожалению, растры из каталога images | buttons (полный путь: c:\Program Files\Common Files\Borland Shared\Images\Buttons), рассчитанные на использование в кнопках .

prope ger; propeTImag prope

TSpeedButton содержат по два изображения каждый - обычное и для запрещенной кнопки.

При добавлении изображений для кнопки TToolButton следует иметь ввиду, что использование заготовок из каталога images | buttons в кнопках TToolButton приведет к появлению для каждой кнопки по два изображения одновременно. При попытке добавить сдвоенное изображение командой Add редактора в контейнер TImageList DELPHI задаст вопрос: Размерность изображения больше размерности списка. Разделить на отдельные битовые матрицы? На данный вопрос нужно отвечать положительно. Тогда загружаемая битовая матрица автоматически разделится на отдельные изображения и потом вы можете удалить те из них, которые Вам не нужны кнопкой Delete редактора.

3. Поместите на форму компонент TToolBar, в окне Инспектора объектов разыщите свойство Images, раскройте список в правой колонке строки Images и выберите ImageList1. Мы указали компоненту на источник изображений и можем теперь вставлять в него кнопки.

4. Щелкните по TToolBar правой кнопкой мыши и выберите New Button.

5. Вставьте еще две кнопки, после чего вставьте разделитель New Separator.

6. Разместите на ToolBar остальные кнопки и сепараторы (см. фиᴦ.1).

7. В случае если вы захотите, чтобы кнопки имели модный «плоский» вид, установите в свойство Flat компонента ToolBar1 значение True.

Свойство Buttons компонента TToolBar позволяет обратиться к каждому его дочернему компоненту как к объекту класса TToolButton.

Вид изображения на кнопке определяется свойством ImageIndex компонента TToolButton. Оно определяет индекс изображения, хранящегося во внешнем компоненте ImageList. Указание на данный компонент задается свойствами Images и Disable Images компонента TToolBar. У кнопки есть и другие особенности: находиться в нажатом или отжатом состояниях и т.п.

Для компонента TToolBar определœено событие OnResize, возникающее при изменении размеров компонента.

Листинг Unit DemoToolBar приводится ниже.

Unit DemoToolBar;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, Buttons, ComCtrls, ImgList,

ToolWin;

type

TForm2 = class(TForm)

Memo1: TMemo;

OpenDialog1: TOpenDialog;

ToolBar1: TToolBar;

ToolButton1: TToolButton;

ToolButton2: TToolButton;

ToolButton3: TToolButton;

ToolButton4: TToolButton;

ToolButton5: TToolButton;

ToolButton6: TToolButton;

ToolButton7: TToolButton;

ToolButton8: TToolButton;

ToolButton9: TToolButton;

ImageList1: TImageList;

SaveDialog1: TSaveDialog;

procedure FormCanResize(Sender: TObject; var NewWidth,

NewHeight: Integer; var Resize: Boolean);

procedure sbtExitClick(Sender: TObject);

procedure sbtNewClick(Sender: TObject);

procedure sbtOpenClick(Sender: TObject);

procedure sbtSaveClick(Sender: TObject);

procedure sbtCutClick(Sender: TObject);

procedure sbtCopyClick(Sender: TObject);

procedure sbtPasteClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.FormCanResize(Sender: TObject; var NewWidth,

NewHeight: Integer; var Resize: Boolean);

begin

Memo1.Top := 25;

Memo1.Height := Form2.ClientHeight - 25;

end;

procedure TForm2.sbtExitClick(Sender: TObject);

begin

Close;

end;

procedure TForm2.sbtNewClick(Sender: TObject);

begin

Memo1.Lines.Clear;

end;

procedure TForm2.sbtOpenClick(Sender: TObject);

begin

if OpenDialog1.Execute then

Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

end;

procedure TForm2.sbtSaveClick(Sender: TObject);

begin

if SaveDialog1.Execute then

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

end;

procedure TForm2.sbtCutClick(Sender: TObject);

begin

Memo1.CutToClipboard;

end;

procedure TForm2.sbtCopyClick(Sender: TObject);

begin

Memo1.CopyToClipboard;

end;

procedure TForm2.sbtPasteClick(Sender: TObject);

begin

Memo1.PasteFromClipboard;

end;

end.


Читайте также


  • - Компонент TToolBar

    Возможность создать панель инструментов появилась у разработчика давно, начиная с первых версий Delphi. Тогда она была реализована с помощью сочетания компонентов TPanel и TSpeedButton. Так можно было поступить и сейчас; но панель инструментов получила развитие с появлением... [читать подробенее]


  • - TToolBar и ToolButton - инструментальная панель и ее кнопки

    TStatusBar - информационная панель Компонент TStatusBar предназначен для создания панелей состояния, которые обычно располагаются в нижней части основной формы. Компонент может иметь несколько секций, а также кнопку изменения размеров окна, в которое он помещен. На рисунке... [читать подробенее]


  • - Компонент TToolBar

    TToolBar Компонент TToolBar – это специальный контейнер для создания инструментальных панелей. TToolBar используется для расположения в ней кнопок, с помощью которых можно оперативно выполнить нужную команду. Кнопки можно группировать и располагать в несколько рядов. В... [читать подробенее]