Главная страница
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.021 c
3-1094998993
ANB
2004-09-12 18:23
2004.10.17
Получение всех сообщений и DataSet-ов из MS SQL


3-1095658777
ceval
2004-09-20 09:39
2004.10.17
Подскажите как обьядинить два поля в DBgrid e ?


6-1092175681
НовиЧок
2004-08-11 02:08
2004.10.17
Помогите избавиться от загрузки картинок при просмотре страницы в


14-1096548475
Guest
2004-09-30 16:47
2004.10.17
Срочно нужен совет


3-1095422021
Bless
2004-09-17 15:53
2004.10.17
Как лучше всего выйти из следующей ситуации: