Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Вниз

Перехват нажатия мышки. 


BVS   (2002-02-13 17:52) [0]

Привет.

У меня такая проблема.

В программе я создаю Ole обьект. Указаваю ОЛЕ серверу патель, куда он будет рисовать. И после этого программа теряет контроль над этой панелью.
Мне надо отрабатывать событие на нажатие кнопки мышки, а панель уже не реагирует на мои действия.

Что делать?



Анонимщик   (2002-02-13 20:45) [1]

События для OLE-объекта OnMouseMove, OnMouseDown, ... есть?
Вот и обрабатывай их.



BVS   (2002-02-14 10:17) [2]

В том-то и дело, что у OLE-объекта нет никаких стандартвых событий (я загружаю в OLE MapInfo).



Анонимщик   (2002-02-14 10:46) [3]

У контейнера нет стандартных событий или как? Не пойму чего-то. Или тебе нужно при активизированном содержании контейнера события в нем своей программой обрабатывать? Объясни.



BVS   (2002-02-14 12:50) [4]

Я не использую контейнер.

OleMapInfo := CreateOLEObject("MapInfo.Application");
OleMapInfo.Do("Set Application Window "+IntToStr(Panel_Map.Handle));

При этом MapInfo перехватывает управление над панелью Panel_Map и работает подобно контейнеру.
Беда в том, что перестают работать все события этой патели, как будто эта панель вообще не пренадлежит приложению.
А мне надо отследить нажатие на панель из приложение.



Вячеслав   (2002-02-14 13:53) [5]

Конкретно, для МапИнфо, можно реализовать CallBack;
Это делается либо через ДДЕ, либо через ОЛЕ.
Кстати в ейной документации это подробно описано, на примере С++
и, кажеться, ВизуалВасика. Раздел интегрированная картография :))



BVS   (2002-02-14 16:41) [6]

2 Вячеслав

Главу эту я нашел, но там примеры только на С++ и VB.
Никак не могу врубиться как создавать IDispatch.
Может подбросишь примерчик.

Не из празного любопытства прошу.
Уж очень нужно. Работа стоит.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.028 c
1-9176            programmer1           2002-02-12 10:22  2002.03.04  
Смысл типа TVarBytesField


1-9195            IronHawk              2002-02-12 15:37  2002.03.04  
ПРОСТО ! Быстрый, тупой, вопрос !


1-9240            romulas               2002-02-15 18:20  2002.03.04  
Help!!!


3-9094            Дремучий              2002-02-06 13:42  2002.03.04  
Как закрыть незакрытую сессию?


4-9336            AlexP                 2001-12-26 19:09  2002.03.04  
Отладка сервиса в W2K.