Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > На время затенить TWebBrowser


Автор: drkot 16.4.2013, 00:06
На период выполнения функции нужно "затенить" TWebBrowser.
Как тупой вариант накрыть его TImage с полупрозрачной картинкой.
Но вариант не проходит, тк TImage ложится только под...

Посоветуйте как побороть проблему.

Автор: kami 16.4.2013, 09:06
вариант еще тупее  smile 
BitBlt панели, на которой лежит WB; применение эффектов к изображению, WB.Visible:=False; отрисовка полученного изображения на панели.

А если "пошукать", как это делают всякие ВК с Многоклассниками и использовать ExecScript? Хотя, не думаю, что там всё так просто.

Автор: drkot 16.4.2013, 13:11
Цитата(kami @  16.4.2013,  09:06 Найти цитируемый пост)
А если "пошукать", как это делают всякие ВК с Многоклассниками и использовать ExecScript? Хотя, не думаю, что там всё так просто.

там просто... ставят div с гифкой полупрозрачной на самый верх и все...
вот только не охота внедрять код , так как веб работает сам по себе и когда там произойдет перезагрузка неизвестно.

Добавлено через 2 минуты и 44 секунды
Цитата(kami @  16.4.2013,  09:06 Найти цитируемый пост)
BitBlt панели, на которой лежит WB; применение эффектов к изображению, WB.Visible:=False; 

нужно видеть что происходит, только ограничить пользователя чтоб не вмешивался
ограничить не сложно, но вот если оставить как есть пользователь не понимает что идет выполнение сценария и пытается кликать, а толку нет. короче рвут волосы бьют мониторы и тд.

Вот и хочется наверти туман на период выполнения сценария.

Автор: drkot 17.4.2013, 14:01
Вобщем найдено такое решение:
Код

   body.insertAdjacentHTML('afterBegin', '<div id="muar" style="z-index:100; position:absolute; overflow:auto; margin:0; width:100%; height:100%; background: #0f0; filter: alpha(Opacity=60);"></div>');

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)