Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема со скрытием скроллбаров в TWebBrowser 
:(
    Опции темы
midavik
Дата 25.6.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 13.6.2007

Репутация: нет
Всего: 1



загружаю в TWebBrowser страницы. В событии OnDocumentComplete TWebBrowser-а скрываю вертикальный и горизонтальный скроллбар.

Код работает, но почему-то не на всех страницах скрываются скроллбары.

Если кто знает как исправить ситуацию прошу подсказать.


переменные HideScrollBarX и HideScrollBarY имеют значение true
Код

procedure TForm1.HideScrollBars;
begin
 if HideScrollBarX then
 wb.OleObject.Document.Body.Style.OverflowX := 'hidden';
 if HideScrollBarY then
 wb.OleObject.Document.Body.Style.OverflowY := 'hidden';
end;
//------------------------------------------------------------------------------
procedure TForm1.WB_DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  CurWebrowser: IWebBrowser;
  TopWebBrowser: IWebBrowser;
  Document: OleVariant;
  WindowName: string;
begin
 if (URL <> 'about:blank') and (URL <> '') then
  begin
   CurWebrowser := pDisp as IWebBrowser;
   TopWebBrowser := (Sender as TWebBrowser).DefaultInterface;
   if CurWebrowser = TopWebBrowser then
    begin
     HideScrollBars;
     sleep(1000);
     //Дальнеший код
    end;
  end
end;

PM MAIL   Вверх
Sanchezzz
Дата 24.8.2007, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



Код

function WB_DocumentLoaded(WB: TWebbrowser): Boolean;
var
  iDoc: IHtmlDocument2;
begin
  Result := False;
  if Assigned(WB) then
  begin
    if WB.Document <> nil then
    begin
      WB.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc);
      Result := Assigned(iDoc);
    end;
  end;
end;


procedure WB_ShowScrollBar (WB: TWebbrowser; Value: boolean);
begin
  if WB_DocumentLoaded(WB) then
    if Assigned((WB.Document as IHTMLDocument2).body) then
      if Value then
        (WB.Document as IHTMLDocument2).body.style.overflow := 'hidden'
      else
        (WB.Document as IHTMLDocument2).body.style.overflow := '';
end;

// пример 
WB_ShowScrollBar(GetCurrentWB, true); //  или CheckBox1.Checked





--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
tavla
Дата 8.11.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



а можете подсказать, в чем моя ошибка?
никак не исчезает вертикальная полоса.

Код

procedure TWbBros.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
..............

begin
Doc := IHTMLDocument2( TWebBrowser( Sender ).Document );
Doc.body.style.overflow := 'hidden';
..............

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.