Вниз
Скачать: 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.022 c
14-1119390702
Zelius
2005-06-22 01:51
2005.07.18
В чем провинился кернел?


1-1120107589
Тучудище
2005-06-30 08:59
2005.07.18
Подскажите плиз каким образом можно вернуть значение в переменную


14-1119891055
Knight
2005-06-27 20:50
2005.07.18
Зашёл тут на WWW.ИСХОДНИКИ.РУ...


14-1119955038
Ega23
2005-06-28 14:37
2005.07.18
Задачка для мозгов


1-1120393211
kyro
2005-07-03 16:20
2005.07.18
События на клавиатуру




   Наверх