![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перехват нажатия мышки.
BVS © (2002-02-13 17:52:00)Привет.
У меня такая проблема.
В программе я создаю Ole обьект. Указаваю ОЛЕ серверу патель, куда он будет рисовать. И после этого программа теряет контроль над этой панелью.
Мне надо отрабатывать событие на нажатие кнопки мышки, а панель уже не реагирует на мои действия.
Что делать?
BVS (2002-02-14 16:41:00) [1]2 Вячеслав
Главу эту я нашел, но там примеры только на С++ и VB.
Никак не могу врубиться как создавать IDispatch.
Может подбросишь примерчик.
Не из празного любопытства прошу.
Уж очень нужно. Работа стоит.
Вячеслав (2002-02-14 13:53:00) [2]Конкретно, для МапИнфо, можно реализовать CallBack;
Это делается либо через ДДЕ, либо через ОЛЕ.
Кстати в ейной документации это подробно описано, на примере С++
и, кажеться, ВизуалВасика. Раздел интегрированная картография :))
BVS (2002-02-14 12:50:00) [3]Я не использую контейнер.
OleMapInfo := CreateOLEObject("MapInfo.Application");
OleMapInfo.Do("Set Application Window "+IntToStr(Panel_Map.Handle));
При этом MapInfo перехватывает управление над панелью Panel_Map и работает подобно контейнеру.
Беда в том, что перестают работать все события этой патели, как будто эта панель вообще не пренадлежит приложению.
А мне надо отследить нажатие на панель из приложение.
Анонимщик (2002-02-14 10:46:00) [4]У контейнера нет стандартных событий или как? Не пойму чего-то. Или тебе нужно при активизированном содержании контейнера события в нем своей программой обрабатывать? Объясни.
BVS (2002-02-14 10:17:00) [5]В том-то и дело, что у OLE-объекта нет никаких стандартвых событий (я загружаю в OLE MapInfo).
Анонимщик (2002-02-13 20:45:00) [6]События для OLE-объекта OnMouseMove, OnMouseDown, ... есть?
Вот и обрабатывай их.