![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TWebBrowser без полос прокрутки [D7, WinXP]
Dmitry_177 © (2007-06-25 08:57:00)как сделать TWebBrowser без полос прокрутки?
Pohil (2007-07-02 07:41:00) [1]
> palva © (30.06.07 12:09) [14]
Вы сами то пробовали? Лично у меня такой код не работает. Конечно может это как нибудь связано с версией explorer, но вряд ли.
Делайте наследника от TWebBrowser и у него имплементите IDocHostUIHandler,
далее на GetHostInfo
DOCHOSTUIFLAG_NO3DBORDER = $0004; // константа у Микрософта из хелпа
function TXXX.GetHostInfo(var pInfo: TDOCHOSTUIINFO): HRESULT;
begin
pInfo.cbSize := SizeOf(pInfo);
pInfo.dwFlags := DOCHOSTUIFLAG_NO3DBORDER;
pInfo.dwDoubleClick := DOCHOSTUIDBLCLK_DEFAULT;
Result := S_OK;
end;
Dmitry_177 (2007-07-01 00:12:00) [2]спасибо! :)
homm (2007-06-30 23:13:00) [3]> А самому попробовать?
Лень-матушка :)
palva (2007-06-30 12:09:00) [4]А самому попробовать?
Сам контрол рамки не имеет. Рамку обычно имеет внутренность контрола, за которую отвечает содержимое страницы. Если страница не загружена, то рамки нет. Если мы напишем страницу так, чтобы не отображалась рамка и полосы прокрутки (т.е.)
WebBrowser1.Navigate('about:<HTML><BODY style="overflow:hidden;border:none">qwerty</HTML></BODY>');
то рамки тоже не будет.
homm (2007-06-29 23:10:00) [5]> поменять
повлиять
homm (2007-06-29 23:10:00) [6]> > С рамкой посложнее
>
> а WebBrowser1.OleObject.Document.Body.Style.border := 'none';
> не помогает?
А разве рамку страница рисует, а не компонент? Как на это может поменять стиль документа?
TIF (2007-06-29 20:09:00) [7]
> а WebBrowser1.OleObject.Document.Body.Style.border := 'none';
> не помогает?
у меня это почти всегда глючило, особенно на некоторых "сложных" документах. Не знаю, может винда виновата, но на других компах это иногда было, а иногда нет
> А... э...
> А чем этот способ отличается-то? Точно так же, через стили.
>
В принципе ничем
НО!
Не надо менять, дополнять, усложнять код страницы, причём если на странице этого не написано, мой способ всё равно пойдёт - применим ко всем страницам
И писать меньше надо
DiamondShark (2007-06-29 19:55:00) [8]А... э...
А чем этот способ отличается-то? Точно так же, через стили.
> С рамкой посложнее
а WebBrowser1.OleObject.Document.Body.Style.border := 'none'; не помогает?
TIF (2007-06-29 19:32:00) [9]
> Меньше эмоций. Больше конкретики.
Вот они конкремоции :-)
TIF (2007-06-29 19:31:00) [10]УБРАТЬ ПОЛОСЫ ПРОКРУТКИ
{A page must be loaded into TWebBrowser}
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.OleObject.Document.Body.Style.OverflowX := 'hidden';
WebBrowser1.OleObject.Document.Body.Style.OverflowY := 'hidden';
end;
С рамкой посложнее, её я раньше убирал регионами, но сейчас мне подсказали ХОРОШИЕ КОМПОНЕНТЫ, среди них:
EmbeddedWB1 - возможность убирать полосы прокрутки в свойствах компонента, отключать и включать картинки - это только самая малость всех возможностей!
Всё из пакета Embedded Web Browser, с сайта... щас вспомню..
http://bsalsa.com/Downloads/EmbeddedWB_D2005_Version_14.64.zip
http://www.bsalsa.com/downloads.html
http://www.bsalsa.com/Downloads/EmbeddedWBDemo_SC.zip
http://www.bsalsa.com/ewb_down_opt.html
Вот! Могу, наверное, даже по почте выслать.
DiamondShark (2007-06-29 19:26:00) [11]Меньше эмоций. Больше конкретики.
TIF (2007-06-29 19:23:00) [12]Люди, вы меня поразили.....
Это точно Основная конференция? Даже такой ламер как я :-) это знаю, так что сейчас всё расскажу, подождите минутку...
Эти способы ужасны!
Pohil (2007-06-29 08:27:00) [13]ИМХО
Самый простой способ убрать рамку: кидаем на форму к примеру Panel который будет являться парентом для WebBrowser. Ну и сдвигаем WebBrowser.
Web.Top := -2;
Web.Left := -2;
Web.Width := Parent.Width + 4;
Web.Height := Parent.Height + 4;
Вуаля рамка пропала. Конечно есть и программный способ, но видимой разницы нет.
DiamondShark (2007-06-28 17:29:00) [14]Точно так же, стилями контента.
Например, в приведённом примере дописать
...><BODY style="overflow:hidden ;border:none">qwerty</BODY><...
Dmitry_177 (2007-06-28 15:48:00) [15]palva, помоги пожалуйста..
Dmitry_177 (2007-06-26 18:24:00) [16]Спасибо, помогло :) А как еще можно убрать саму рамку вокруг WebBrowser?
palva (2007-06-25 11:04:00) [17]Компонента WebBrowser и так не имеет полос прокрутки. Полосы прокрутки обусловлены тем содержимым, которое он показывает. Если страничка показывает полосы прокрутки, то на уровне компоненты ничего поделать нельзя - надо менять код странички. Если вы сами формируете страничку, то попробуйте такой код:
WebBrowser1.Navigate('about:<HTML><BODY style="overflow:hidden">qwerty</BODY></HTML>');