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

Вниз

WebBrowser и картинки   Найти похожие ветки 

 
fynjy1984 ©   (2006-09-25 11:19) [0]

В WebBrowser"е включена опция "не загружать картинки" необходимо выполнить функцию "Показать рисунок" (как в контекстном меню на рисунке), т.е. чтоб загрузился один рисунок, а остальные также остались невидимыми.
И еще вопрос: можно ли сохранить рисунок со странички в файл, не загружая его еще раз. Вот такой код копирует этот файл из кэша:

GetUrlCacheEntryInfo(PChar(my_url),TInternetCacheEntryInfo(nil^), InfoBufSize);
if GetLastError = ERROR_INSUFFICIENT_BUFFER then
begin
   GetMem(Info, InfoBufSize);
   try
    if GetUrlCacheEntryInfo(PChar(my_url),
       TInternetCacheEntryInfo(Info^), InfoBufSize)then
    begin
      FileName := Info^.lpszLocalFileName;
      kodfilename:=extractfilename(FileName);
      CopyFile(PChar(FileName),   PChar( ExtractFilePath( ParamStr( 0 ) ) + kodfilename), false);
    end
  finally
    FreeMem(Info);
  end; }


но для некоторых страниц этот код не работает (видимо в кэш они не сохраняются)


 
fynjy1984 ©   (2006-09-25 14:01) [1]

по второму вопросу нашел рабочий код, может кто-нибудь поможет избавиться от копирования в буфер (а то мало ли что там лежало в буфере, а я возьму и затру своей картинкой)


uses ClipBrd;
...
procedure TForm1.LoadImage(N:integer);
var body, imgs, controlRange: olevariant;
begin
body := WebBrowser1.OleObject.document.body;
imgs := WebBrowser1.OleObject.document.images.item(N);//нужный img
controlRange := body.createControlRange;
controlRange.add(imgs);// вместо imgs можно сразу вставить WebBrowser1.OleObject.document.images.item(N)
controlRange.execCommand("Copy", False, EmptyParam);//копируем
if ClipBoard.HasFormat(CF_BITMAP) then begin
Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap, ClipBoard.GetAsHandle(cf_Bitmap), 0);//вставляем
Clipboard.Clear;//по желанию чистим буфер...
end;
end;
...
initialization
OleInitialize(nil);

finalization
OleUninitialize;

end.


 
Shadow_exe   (2006-09-27 14:01) [2]

У меня вопрос:
Мне наоборот надо включить ф-цию "не загружать картинки"!!
Как это сделать?
Помогите плиз...


 
fynjy1984 ©   (2006-09-27 14:49) [3]


> У меня вопрос:Мне наоборот надо включить ф-цию "не загружать
> картинки"!!Как это сделать?Помогите плиз...


Я сделал так:

uses
 ..., Registry,...

var Registry:TRegistry;

procedure TOptionsForm.CheckBox1Click(Sender: TObject);
begin
 Registry := TRegistry.Create(KEY_ALL_ACCESS);
 Registry.RootKey := HKEY_CURRENT_USER ;
 Registry.OpenKey("\Software\Microsoft\Internet Explorer\Main", False);
 try
 if CheckBox1.Checked then
 Registry.WriteString("Display Inline Images","yes")
 else
 Registry.WriteString("Display Inline Images","no")
 except
 end;
 Registry.CloseKey;
end;


такой способ запрещает загрузку картинок в IE

вроде есть и другие способы, чтоб запретить только в своем WebBrowser"e, Яндекс поможет.


 
fynjy1984 ©   (2006-09-29 08:27) [4]

Удалено модератором
Примечание: Создание пустых сообщений


 
fynjy1984 ©   (2006-10-05 08:10) [5]

Удалено модератором
Примечание: Создание пустых сообщений


 
Shadow_exe   (2006-10-05 15:40) [6]

Спасибо!
Мне помогло то что ты написал)))


 
fynjy1984 ©   (2006-10-12 11:05) [7]

Удалено модератором
Примечание: Создание пустых сообщений



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
15-1162194737
IMHO
2006-10-30 10:52
2006.11.19
Кто такие Лелеки?


2-1162459271
Amt2001
2006-11-02 12:21
2006.11.19
Помогите разобраться


15-1162236463
cyborg
2006-10-30 22:27
2006.11.19
Что за ерунда


5-1142922867
zorik
2006-03-21 09:34
2006.11.19
"Массив" объектов


1-1160572979
guav
2006-10-11 17:22
2006.11.19
forward declaration для процедурных типов