Архив категории ‘Технология OLE’

Технология OLE. Создание контейнера OLE

    На этом шаге мы рассмотрим cоздание контейнера OLE.     Создаваемый контейнер сможет функционировать как законченное приложение, кроме того, пользователь сможет внедрить в него любой объект OLE, какой захочет.     Начальный процесс создания контейнера. Сначала запустите AppExpert из интегрированной оболочки Borland C++ версии 4.5. В первом блоке диалога следует задать имя и каталог проекта. Поместим […]

Технология OLE. Создание сервера OLE (окончание)

    На этом шаге мы реализуем функциональность созданного сервера.     Отсутствие созданного на предыдущем шаге изображения на экране объясняется просто: OLESVR не известно, что существует текущий документ. После запуска OLESVR выберите команду File | New. Выбор New укажет OLESVR, что это текущий документ, и наша звезда на экране: Рис.1. Результат работы программы OLESVR     Но […]

Технология OLE. Создание сервера OLE (продолжение)

    На этом шаге мы рассмотрим, как задать функциональность созданному серверу.     После того, когда программа сгенерирована, в нее нужно добавить код, задающий функциональность сервера OLE. Необходимо включить код, рисующий изображение, а также провести другие незначительные изменения.     Допустим, мы хотим сначала заняться вопросами отображения. Как и в любой созданной с помощью AppExpert программе, основная […]

Технология OLE. Создание сервера OLE

    На этом шаге мы рассмотрим cоздание сервера OLE.     Мы рассмотрим простую программу-сервер, которая может использоваться и как автономное приложение, и как сервер. Создавая автономный сервер (т.е. в виде исполняемой программы .EXE, а не в виде динамически подключаемой библиотеки .DDL), тем самым упрощается процесс регистрации сервера в Windows.     Начальный процесс разработки сервера. Сначала […]

Технология OLE. Интерфейс активации и редактирования по месту

    На этом шаге мы рассмотрим интерфейс активации и редактирования по месту.     Процесс активации и редактирования по месту создаст мощный и в то же время дружественный пользователю интерфейс, который может значительно расширить сферу применения OLE-приложений. Неверное использование активации по месту может стать причиной серьезных ошибок, когда трудно (или даже невозможно) получить необходимые для завершения […]

Технология OLE. Функции интерфейса «Перетащить и опустить»

    На этом шаге мы рассмотрим функции интерфейса "Перетащить и опустить".     В OLE существует функция DoDragDrop, с помощью которой начинаются основные операции "перетаскивания". Эта функция имеет четыре параметра и возвращает значение типа HRESULT. Прототип функции DoDragDrop имеет следующий вид: HRESULT DoDragDrop ( LPDATAOBJECT pDataObject, LPDROPSOURCE pDropSource, DWORD dwEffect, LPDWORD pdwEffect );     Параметры DoDragDrop() […]

Технология OLE. Интерфейс «Перетащить и опустить» приемника

    На этом шаге мы рассмотрим интерфейс "Перетащить и опустить" приемника.     Интерфейс "Перетащить и опустить" приемника управляется с помощью интерфейса IDropTarget. В этом интерфейсе содержатся элементы, приведенные в листинге 1.     Листинг 1. Интерфейс IDropTarget DECLARE_INTERFACE_ (IDropSource, IUnkown) { // // *** методы lUnknown *** HRESULT Querylnterface (THIS_ REFIID riid, LPVOID FAR* ppvObj); ULONG […]

Технология OLE. Интерфейс «Перетащить и опустить» источника

    На этом шаге мы рассмотрим интерфейс "Перетащить и опустить" источника.     Интерфейс "Перетащить и опустить" источника управляется с помощью интерфейса IDropSource. В этом интерфейсе содержатся элементы, приведенные в листинге 1.     Листинг 1. Интерфейс IDropSource DECLARE_INTERFACE_ (IDropSource, IUnkown) { // *** методы IUnknown *** HRESULT Querylnterface (THIS. REFIID riid, LPVOID FAR* ppvObj); ULONG AddRef […]

Технология OLE. Интерфейс «Перетащить и опустить» (общие сведения)

    На этом шаге мы рассмотрим понятие "Перетащить и опустить" в OLE.     Администратор программ Windows поддерживает средства "Перетащить и опустить", когда файл можно отметить с помощью мыши, затем переместить в другой каталог или программу и "опустить". В результате отмеченный файл перемещается (или копируется, в зависимости от метода выбора файла) в другой каталог, или запускается […]

Технология OLE. Функции для субпамяти и потоков

    На этом шаге мы перечислим функции для субпамяти и потоков.     Существует четыре функции, поддерживающие интерфейс с составными файлами. Эти функции описываются в таблице 1. Таблица 1. Функции поддержки составных файлов Функция Описание OleLoad() Используется для загрузки внедренного или связанного объекта в память OleLoadFromStream() Используется для загрузки потокового объекта в память OleSave() Используется для […]