Главная страница
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.047 c
14-1096012323
clickmaker
2004-09-24 11:52
2004.10.17
Глюки DNS на 2000 advanced сервере


1-1096456972
Dr.Karter
2004-09-29 15:22
2004.10.17
Че-то MDI меня не понимает...


4-1094909921
InfMag
2004-09-11 17:38
2004.10.17
Блокировшик


1-1096963151
roma
2004-10-05 11:59
2004.10.17
Forma i Knopki


1-1096478831
RedDragon
2004-09-29 21:27
2004.10.17
Как по ходу прогона программы создавать ...