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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WebBrowser, подмена Scrollbars 
:(
    Опции темы
Rennigth
Дата 15.12.2005, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

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



Задача состоит в том чтобы заменить стандартные IE-вские скроллбары на другие(в моем случаее bsSkinScrollBar(но это не стль важно на какие)).
стандартные скролы я скрыл:
Код

procedure TSomeBodyClass.DoHideWBScrolls;
var
  lDoc: IHTMLDocument2;
  lBody: IHTMLElement;
  lStyle: IHTMLStyle2;
begin
  lDoc := IHTMLDocument2(TWebBrowser(FWebBrowser).Document);
  if Assigned(lDoc) then
  begin
    lBody := lDoc.Body;
    if Assigned(lBody) then
    begin
      lBody.style.QueryInterface(IID_IHTMLStyle2, lStyle);
      if Assigned(lStyle) then
      begin
        lStyle.overflowX := 'hidden';
        lStyle.overflowY := 'hidden';
      end;
    end;
  end;
end;

а вот добраться до контроля скролирования внешним скроллбаром у меня не получилось... smile пол MSDN-а перерыл, но так и не нашел(наверное плохо все-таки искал). Может кто подскажет что.

P.S.
Просто подкраска через html стандартного скроллбара неподходит, нужен именно внешний.



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Rennigth
Дата 16.12.2005, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

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



Уважаемые модераторы, перенесите пожалуйста тему в AxtiveX.


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Girder
Дата 16.12.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


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

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



Цитата(Rennigth @ 16.12.2005, 12:02)
Уважаемые модераторы, перенесите пожалуйста тему в AxtiveX.
А почему сразу там не создал? У нас тематические разделы... и создавать в разделе где наибольшая активность... енто не значит что тебе быстрее ответят. Ты можеш вообще не получить ответ.

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

PS: Начни с ентого...
Код
procedure TForm1.Button3Click(Sender: TObject);
var
  lDoc: IHTMLDocument2;
  lBody: IHTMLElement;
  lStyle: IHTMLStyle;
  vvv: IHTMLElement2;
  i:integer;
begin
  lDoc := IHTMLDocument2(TWebBrowser(WB).Document);
  if Assigned(lDoc) then
  begin
    lBody := lDoc.Body;
    if Assigned(lBody) then
    begin
      lBody.style.QueryInterface(IID_IHTMLStyle, lStyle);
      if Assigned(lStyle) then
      begin
       lBody.QueryInterface(IID_IHTMLElement2, vvv);
       for i:=0 to 100 do vvv.doScroll('down'); //или vvv.scrollTop:=i;
       for i:=0 to 100 do vvv.doScroll('up'); // или vvv.scrollTop:=i;
      end;
    end
  end;
end;


Это сообщение отредактировал(а) Girder - 16.12.2005, 14:58


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Guest
Дата 16.12.2005, 16:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Girder
Цитата(Girder @ 16.12.2005, 14:18)
А почему сразу там не создал? У нас тематические разделы... и создавать в разделе где наибольшая активность... енто не значит что тебе быстрее ответят. Ты можеш вообще не получить ответ.

Виноват, каюсь... smile


Girder smile ноль эмоций...
Кстати, может есть где инфа по функциям и входным параметрам MSHTML. MSDN что-то не порадовал подробностью описания используемых интерфейсов.
  Вверх
Rennigth
Дата 16.12.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

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



забыл зарегистриться, это был я.

Girder
до выполнения методов DoScroll или ScrollTop доходит, но не скролируется,
scrollTop после присвоения нового значения как был в нуле так и остается...


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Girder
Дата 16.12.2005, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


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

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



Как ты делал? Дай код.

PS: У меня все скролиться. Ты пример пробывал?


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Rennigth
Дата 16.12.2005, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

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



Girder
Спасибо заработало. Я пробовал на сайте www.nnm.ru, незнаю почему но на нем неработает ни Hide стандартных scrollbar-ов и скроллинг. smile


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.1495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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