Вниз
Скачать: CL | DM;

Модальная форма в ActiveX под IE   Найти похожие ветки 

 
Роман   (2004-12-16 15:10) [0]

Собственно сабж, как показать, вернее показываться она показывается, но при этом можно выполнять действия на страничке IE, а этого не хочется, заранее спасибо!


 
Роман   (2004-12-17 13:22) [1]

Разобрался, решил написать, вдруг кому-нибудь понадобится.
помогли следующие изменения TControl:
добавление в public свойства OwnerWindowHandle : HWND в него я после NewForm прописываю хендл окна IE в теле функции
function TControl.CreateWindow: Boolean;
строчку
Params.WndParent := GetParentWnd( True );
заменил на
if OwnerWindowHandle<>0
then Params.WndParent := OwnerWindowHandle
else Params.WndParent := GetParentWnd( True );
(Все таки зря убрали отдельную функцию CreateParams не пришлось бы так извращаться)
далее вызов ShowModal обрамляю в

 ActiveWindow := GetActiveWindow;   //ActiveWindow : HWND;
 EnableWindow(F.OwnerWindowHandle, false);
 F.ShowModal
 EnableWindow(F.OwnerWindowHandle, true);
 SetActiveWindow(ActiveWindow);

правда для этого пришлось выключить {$DEFINE ASM_VERSION} т.к. не силен я в ассемблере:( кстати может напишет кто ассемблерный код этого изменения?

У меня просьба к разработчикам, как-нибудь учесть в будущем релизе проблемку с которой я столкнулся и либо вынести CreateParams либо как то еще предусмотреть вариант когда родителем может буть не KOLовский объект. Странно что написание ActiveX на KOL так мало освещено, ведь именно здесь очень важен размер модуля...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
3-1118270900
Dron1173
2005-06-09 02:48
2005.07.18
Обработка ошибок при работе с базой данных.


14-1116161331
OSokin
2005-05-15 16:48
2005.07.18
Вечный вопрос: хостинг...


14-1119803589
Tirex
2005-06-26 20:33
2005.07.18
Сколько стрелок на будильнике?


11-1103222043
DmiSb
2004-12-16 21:34
2005.07.18
ImageList с другой формы


4-1116924904
lgcpiton
2005-05-24 12:55
2005.07.18
Работа с таблицами символов




   Наверх