Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: 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 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.063 c
4-1117077209
kblc
2005-05-26 07:13
2005.07.18
FreeLibrary


3-1117728453
xroot
2005-06-02 20:07
2005.07.18
Непонятная заморо4ка


8-1111581394
Alexey A.
2005-03-23 15:36
2005.07.18
Изменение размера JPEG-изображения


3-1117708737
Harry7
2005-06-02 14:38
2005.07.18
Напоминалка для Дней Рождения


8-1111505240
savva
2005-03-22 18:27
2005.07.18
DirectX: "GetFrontBuffer ..... This function is very slow ..."





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский