OleContainer

  

Компонент delphi OleContainer это компонент, обеспечивающий внедрение и связывание. Сразу вас предупреждаю, что применение этого компонента далеко не лучший способ использования OLE. В частности, нередко возникают определенные проблемы с этим компонентов в современных версиях Delphi. Лучше работать с серверами автоматизации OLE, о которых будет сказа в следующих статьях. Но для понимания сути использования этого компонента рассмотрю пример его применения на создания простого приложения.

Разместите на форме контейнер OleContainer, компонент главного меню MainMenu, и диалог OpenDialog. Контейнер должен занимать всю площадь формы, поэтому свойство Align делаем равным alClient. Пример этого приложения приведен на рисунке 1.

Пример компонента OleContainer

Рис.1

В MainMenu введите меню файл и в нем разделы открыть, активировать и деактивировать.
Теперь необходимо прописать обработчики событий для нашего меню.

Открыть

1
2
3
4
5
procedure TForm1.N2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
OleContainer1.CreateObjectFromFile(OpenDialog1.FileName, false);
end;

Активировать

1
2
3
4
5
procedure TForm1.N4Click(Sender: TObject);
begin
if OleContainer1.State <> osEmpty then
OleContainer1.DoVerb(ovShow);
end;

Деактивировать

1
2
3
4
5
procedure TForm1.N5Click(Sender: TObject);
begin
if OleContainer1.State <> osEmpty then
OleContainer1.Close;
end;

Меню открыть вызывает метод InsertObjectDialog осуществляющий обращение к стандартному окну Windows Insert Object (вставка объекта), в котором пользователь может указать тип вставляемого объекта, инициализирует объект OLE и загружает его в контейнер OleContainerl. Меню активировать, вызывает Метод DoVerb обеспечивающий немедленное открытие программы, связанной со вставленным документом(запускает в нашем приложение OLE-сервер необходимый для редактирования файла). Типичными OLE-серверами являются такие системные утилиты, как Notepad, Paint и текстовый процессор Word, табличный процессор Excel и др. Меню деактивировать деактивирует OLE-сервер.

После запуска нашего приложения нажимаем файл и открыть, выбираем необходимый файл в моем случае я выбрал файл Word. Наше приложение открывает Word файл но его нельзя редактировать (рис. 2).

Отрытый файл Word в компонент OleContainer

Рис.2

После нажатия активировать в меню файл в нашем приложении открывается MS Word после чего доступны все его функции (рис.3)

Открытый  MS Word

 

Продолжаем изучать Delphi

MediaPlayer Компонент delphi MediaPlayer обеспечивает воспроизведение звуковых файлов различных форматов (WAV, M...
PaintBox Компонент delphi PaintBox это область рисования. Компонент визуальный и используется для создания на...
Timer Компонент Delphi Timer генерирует последовательность событий timer, этот компонент является не визуа...
OleContainer Компонент delphi OleContainer это компонент, обеспечивающий внедрение и связывание. Сразу вас предуп...