На этом шаге мы рассмотрим cоздание контейнера OLE. Создаваемый контейнер сможет функционировать как законченное приложение, кроме того, пользователь сможет внедрить в него любой объект OLE, какой захочет. Начальный процесс создания контейнера. Сначала запустите AppExpert из интегрированной оболочки Borland C++ версии 4.5. В первом блоке диалога следует задать имя и каталог проекта. Поместим […]
Архив категории ‘Технология OLE’
Технология 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() Используется для […]