Окно на clarion (com object) внутри родительского окна
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Окно на clarion (com object) внутри родительского окна
Коллеги, пытаюсь сделать 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 сказать "смени родителя", не пробовал?
С уважением, ДП
Re: Окно на clarion (com object) внутри родительского окна
если я правильно понял надо вызвать окно из com передав туда handle родителя и сказать этому окну что вот твой родитель?
- Дед Пахом
- Старичок
- Сообщения: 3291
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
Re: Окно на clarion (com object) внутри родительского окна
Именно это я имел в виду.seawolf писал(а):если я правильно понял надо вызвать окно из com передав туда handle родителя и сказать этому окну что вот твой родитель?
С уважением, ДП
Re: Окно на clarion (com object) внутри родительского окна
Выяснилось что окно вызываемое из Com уже имеет в качестве родителя того, кто его вызвал из OLE control окна (GetParent это четко показало). При этом поведение вызванного окна аналогчино модальному окну - оно блокирует доступ в родителю пока не будет закрыто. А хотелось "плавать" в OLE control окна родителя и продолжать работать в родителе. Копать стили GWL_STYLE и SetWindowLong ?