Окно на clarion (com object) внутри родительского окна

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
seawolf
Старожил
Сообщения: 217
Зарегистрирован: 08 Июль 2005, 11:23
Откуда: St. Petersburg

Окно на clarion (com object) внутри родительского окна

Сообщение seawolf »

Коллеги, пытаюсь сделать com объект внутри которого окно (два варианта MDI Frame и просто Window), вернее сделал такой объект. Регистрируется и дергается даже из C++ и из Clarion через CoCreateInstance или обычный ?OLE control . Делал на 6.3. Хочу чтобы это окно выплывало не как отдельное а могло активизироваться по месту (внутри другого которое его вызвало). Cоздал OLE control, вызвал Prop:Create и далее вызвал метод с вызовом окна из контейнера, но оно запускается как отдельное приложение, а не внутри моего поля OLE control. Вопрос как добиться чтобы оно активизировалось по месту в моем контроле?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3291
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: Окно на clarion (com object) внутри родительского окна

Сообщение Дед Пахом »

А сделать метод OLE.SetParent(HWND, HWND), где окну из OLE сказать "смени родителя", не пробовал?
С уважением, ДП
seawolf
Старожил
Сообщения: 217
Зарегистрирован: 08 Июль 2005, 11:23
Откуда: St. Petersburg

Re: Окно на clarion (com object) внутри родительского окна

Сообщение seawolf »

если я правильно понял надо вызвать окно из com передав туда handle родителя и сказать этому окну что вот твой родитель?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3291
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: Окно на clarion (com object) внутри родительского окна

Сообщение Дед Пахом »

seawolf писал(а):если я правильно понял надо вызвать окно из com передав туда handle родителя и сказать этому окну что вот твой родитель?
Именно это я имел в виду.
С уважением, ДП
seawolf
Старожил
Сообщения: 217
Зарегистрирован: 08 Июль 2005, 11:23
Откуда: St. Petersburg

Re: Окно на clarion (com object) внутри родительского окна

Сообщение seawolf »

Выяснилось что окно вызываемое из Com уже имеет в качестве родителя того, кто его вызвал из OLE control окна (GetParent это четко показало). При этом поведение вызванного окна аналогчино модальному окну - оно блокирует доступ в родителю пока не будет закрыто. А хотелось "плавать" в OLE control окна родителя и продолжать работать в родителе. Копать стили GWL_STYLE и SetWindowLong ?
Ответить