Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

WebBrowser и картинки [D7]


fynjy1984 ©   (2006-09-25 11:19:00) 

В 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-10-12 11:05:00) [1]

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


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

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


fynjy1984   (2006-10-05 08:10:00) [3]

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


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

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


fynjy1984   (2006-09-27 14:49:00) [5]


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


Я сделал так:

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, Яндекс поможет.


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

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


fynjy1984   (2006-09-25 14:01:00) [7]

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


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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо