Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

Блокировка рисунков в WebBrowser e   Найти похожие ветки 

 
НовичОк ©   (2004-08-07 04:10) [0]

Как можно предотвратить загрузку картинок при просмотре страницы в WebBrowser"e?

Заранее спасибо за ответы!


 
easy ©   (2004-08-07 10:33) [1]

написать наследника WebBrowser"а, перекрыть ему Invoke а там -

function TMyWebBrowser.Invoke(DispID: Integer; const IID: TGUID;
 LocaleID: Integer; Flags: Word; var Params; VarResult, ExcepInfo,
 ArgErr: Pointer): HResult;
const
 DISPID_AMBIENT_DLCONTROL = -5512;
 DLCTL_DLIMAGES = $00000010;
begin
if (Flags and DISPATCH_PROPERTYGET <> 0) and (VarResult <> nil) then
 begin
   Result := S_OK;
   case DispID of DISPID_AMBIENT_DLCONTROL:
     PVariant(VarResult)^ := Integer(not DLCTL_DLIMAGES);
   else
     Result := DISP_E_MEMBERNOTFOUND;
   end;
 end else
   Result := DISP_E_MEMBERNOTFOUND;
end;


примерно так..


 
easy ©   (2004-08-07 11:52) [2]

unit WebBrowseWithImgControl;

interface

uses
 Windows, Messages, SysUtils, Classes, Controls, OleCtrls, SHDocVw,activex;

type
 TWebBrowseWithImgControl = class(TWebBrowser, IDispatch)
 private
   FDisplayImades: Boolean;
   { Private declarations }
 protected
   function IDispatch.Invoke = Invoke;
   function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
     Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult;
     stdcall;
   { Protected declarations }
 public
   constructor Create(AOwner: TComponent); override;
   { Public declarations }
 published
   property DisplayImages: boolean read FDisplayImades write FDisplayImades default true;
   { Published declarations }
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Internet", [TWebBrowseWithImgControl]);
end;

{ TWebBrowseWithImgControl }

constructor TWebBrowseWithImgControl.Create(AOwner: TComponent);
begin
 inherited;
 FDisplayImades := true;
end;

function TWebBrowseWithImgControl.Invoke(DispID: Integer; const IID: TGUID;
 LocaleID: Integer; Flags: Word; var Params; VarResult, ExcepInfo,
 ArgErr: Pointer): HResult;
const
 DISPID_AMBIENT_DLCONTROL = -5512;
 DLCTL_DLIMAGES = $00000010;

begin
if (Flags and DISPATCH_PROPERTYGET <> 0) and (VarResult <> nil) then
 begin
   Result := S_OK;
   case DispID of DISPID_AMBIENT_DLCONTROL:
   if FDisplayImades then
     PVariant(VarResult)^ := Integer(DLCTL_DLIMAGES) else
     PVariant(VarResult)^ := Integer(not DLCTL_DLIMAGES);
   else
     Result := DISP_E_MEMBERNOTFOUND;
   end;
 end else
   Result := DISP_E_MEMBERNOTFOUND;
end;

end.


примерно так..


 
VID ©   (2004-08-07 13:40) [3]

юзаем TEmbeddedWB



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
3-1095592178
Nikolai_S
2004-09-19 15:09
2004.10.17
Печать EhDBGrid


1-1096347348
vasili
2004-09-28 08:55
2004.10.17
Нид Хелп с компонентом ТEdit


14-1096427283
080D:07BBh
2004-09-29 07:08
2004.10.17
Регулярные выражения


14-1096263400
Lola
2004-09-27 09:36
2004.10.17
Кажется пора завести дайджест "Самый оригинальный спам" :)


4-1094546471
MetalFan
2004-09-07 12:41
2004.10.17
заводской номер CD/Floppy