На этом шаге мы начнем знакомиться с элементами коллекции CommandBars.
Рассмотрим свойства коллекции CommandBars. Как и любая коллекция, она содержит типичные свойства и методы. Свойство Count содержит количество элементов коллекции, метод Add позволяет добавить новый элемент коллекции (панель элементов управления), метод Item(i) возвращает ссылку на элемент коллекции. К специфическим свойствам относятся те, которые позволяют задавать режим отображения элементов коллекции. В таблице 1 представлены свойства и методы коллекции панелей элементов управления.
Свойство или метод | Тип | Описание |
---|---|---|
ActionControl | Объект | Ссылка на активный в данный момент элемент управления |
ActiveMenuBar | Объект | Ссылка на активный в данный момент элемент меню |
Add | Метод | Добавление элемента коллекции |
Count | Integer | Количество элементов коллекции |
DisplayTooltips | Boolean | True - включить подсказку для кнопок |
DisplayKeysInTooltips | Boolean | True - включить в подсказку для кнопок сочетания "горячих" клавиш |
FindControl | Метод | Поиск элемента коллекции |
Item(i:integer) | Объект | Набор элементов коллекции |
LargeButtons | Boolean | Переключение режима отображения больших/маленьких кнопок |
MenuAnimationStyle | Integer | Эффект при выводе меню |
ReleaseFocus | Метод | Обновление пользовательского интерфейса для всех элементов коллекции |
Рассмотрим некоторые свойства коллекции CommandBars, например, свойства, определяющие обшие визуальные характеристики панелей и элементов управления. Свойство LargeButtons коллекции позволяет устанавливать размеры кнопок на всех панелях (большие или маленькие). Для выбора большого размера кнопок установим значение этого свойства в True, для выбора малого размера - в False. По умолчанию это свойство имеет значение False.
Следующая процедура позволяет задать большой размер для кнопок.
procedure TForm1.CheckBox1Click(Sender: TObject); //Изменение размера кнопок begin E.CommandBars.LargeButtons:=CheckBox1.Checked; end;
Выполнив данную процедуру, мы получим результат, который представлен на рисунке 1.
Рис.1. Выбраны большие кнопки для панелей управления
Другими общими свойствами коллекции CommandBars являются два свойства логического типа, управляющие режимом подсказок для кнопок панелей. Свойство DisplayTooltips определяет, включена или отключена всплывающая подсказка. Свойство DisplayKeysInTooltips определяет присутствие в подсказке сочетания "горячих" клавиш (этот режим в Excel не используется).
Изменение отображения режима подсказок определяется установкой этих свойств в определенные состояния, что можно выполнить в приложении Delphi. Рассмотрим следующую процедуру.
procedure TForm1.CheckBox2Click(Sender: TObject); //Изменение режима подсказок для кнопок begin E.CommandBars.DisplayTooltips:=CheckBox2.Checked; end;
На рисунке 1 показана форма, использующая данную процедуру, а также главное окно Excel, в котором видна подсказка для кнопки Открыть.
Приведем полный текст приложения.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj; type TForm1 = class(TForm) Button1: TButton; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; procedure Button1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure CheckBox3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var E:variant; procedure TForm1.Button1Click(Sender: TObject); //Создание объекта Excel и отображение окна begin E:=CreateOleObject('Excel.Application'); E.Visible:=True; end; procedure TForm1.CheckBox1Click(Sender: TObject); //Изменение размера кнопок begin E.CommandBars.LargeButtons:=CheckBox1.Checked; end; procedure TForm1.CheckBox2Click(Sender: TObject); //Изменение режима подсказок для кнопок begin E.CommandBars.DisplayTooltips:=CheckBox2.Checked; end; procedure TForm1.CheckBox3Click(Sender: TObject); //Отображение в подсказке сочетания клавиш begin E.CommandBars.DisplayKeysInTooltips:=CheckBox3.Checked; end; end.
На следующем шаге мы продолжим изучать возможности использования элементов этой коллекции.