|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Спасибо большое за примеры! Попробовал применить у себя. Не получилось. В форме у меня есть поле со списком, после выбора в котором происходит присвоение переменной пути к файлу (у Вас это ссылка, а у меня это может быть изображение или сохраненная веб-страница): Me!ctlWB.Navigate strFilePath Но, хотя изображение (или веб-страница) и выводятся в контроле, на строке Set f = Me.ctlWB.Document.GetElementById("wzoom") значение f становится "Nothing", после чего, естественно, на строке z = Val(f.Style.Zoom) вылетает ошибка "Object variable or With block variable not set" Вот теперь вопрос: этот контрол не может работать с сохраненными веб-страницами (с изображениями, я так понимаю, это принципиально невозможно, т.к. нету в них HTML) в плане считывания этих свойств? Или я чего-то не понимаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2009, 18:23 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
КДИли я чего-то не понимаю? вы ходили по ссылкам, любезно предоставленным автором примера? что касается "применения у себя" - вообще говоря не ясен контекст в котором вы пытаетесь применить эти подходы. еще раз повторюсь. наверняка, в 99% случаев, отображать html в миниатюре нет смысла - нужно отображать picture. например если вы грузите галерею миниатюр, вы будете тащить весь контент, исполнять все скрипты, загружать все банеры и проч. оно надо? на миниатюре все равно нифига не видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2009, 18:40 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
КДИли я чего-то не понимаю? Natürlich, mein Herz. Die Sie nicht verstehen. Код: plaintext 1. 2.
Ich wünsche dir viel Glück. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2009, 20:14 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Простите, что влезаю с суконным рылом в калашный ряд, но помнится мне, что где-то на форуме пробегала процедурка выбора файла с предпросмотром графики. Похоже, что это то, что нужно топикстартеру. Если нет - извините, пишу с большого бодуна, может быть не врубился в тему... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2009, 12:00 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Fat Lamerпроцедурка выбора файла с предпросмотром графики. для предпросмотра графики при выборе файла достаточно просто диалог выбора переключить в режим отображения эскизов страниц. тут не об этом, немного, речь... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2009, 12:10 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Эх, эх (сокрушается над собственной глупостью)… Я, наверное, задам еще несколько не очень умных вопросов, но где же еще спросить… Ведь профильного образования у меня нет. Не бейте сильно, ибо с HTML вообще не знаком. strHTML = "<HTML><HEAD></HEAD><BODY " _ & "scroll=" & Chr(34) & "no" & Chr(34) _ & " style=" & Chr(34) & "margin: 0;padding: 0;" & Chr(34) & ">" _ & "<iframe src=" & Chr(34) & "" & Chr(34) _ & " style=" & Chr(34) & "zoom: 20%;padding: 0;" & Chr(34) _ & " name=" & Chr(34) & "wzoom" & Chr(34) _ & " id=" & Chr(34) & "wzoom" & Chr(34) _ & " width=" & Chr(34) & "100%" & Chr(34) _ & " height=" & Chr(34) & "100%" & Chr(34) _ & " align=" & Chr(34) & "middle" & Chr(34) & "" _ & " frameborder=" & Chr(34) & "0" & Chr(34) & "" _ & " scrolling=" & Chr(34) & "auto" & Chr(34) & "" _ & " marginheight=" & Chr(34) & "0" & Chr(34) & "" _ & " marginwidth=" & Chr(34) & "0" & Chr(34) & "" _ & "></iframe></BODY></HTML>" Как я понял, здесь создается некоторый объект (BODY?), не имеющий полос прокрутки, без границы, незаполненный. К нему добавляется дочерний объект iframe с пустым источником, по имени "wzoom" и с таким же идентификатором, а также немного загадочным для меня свойством style (оно изначально составляет 20%), т.е. все, что будет туда помещено, будет уменьшено в 5 раз? В тоже время сам этот iframe по ширине и высоте составляет 100%, т.е. заполняет собой объект BODY? И еще этот iframe: выровнен посередине, имеет нулевую ширину границы, св-во полос прокрутки – Auto (видимо, будут обе). А все это, в свою очередь, помещается в объект Document, который, видимо, и представляет собой содержимое окна Web Browser контрола (в окне Internet Explorer еще будут меню, строка состояния и т.д., но основную часть окна также будет занимать Document?). Теперь мы по идентификатору обращаемся к этому iframe, как объекту, Set f = Me.ctlWB.Document.GetElementById("wzoom") и, задав, что всё, что туда будет помещено, будет уменьшено до 20%, f.Style.Zoom = "20%" помещаем туда наш файл f.src = strFilePath (как я теперь понимаю, ему пофиг что отображать, но до конца не уверен) Вот не очень понял, этих iframe'ов может быть много в объекте Document, что им надо идентификаторы назначать? А так все заработало, спасибо, %%, большущее! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2009, 18:39 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
КДВот не очень понял, этих iframe'ов может быть много в объекте Document, что им надо идентификаторы назначать? можно в одном Body размещать несколько Iframe (придется подгонять размер в процентах, например) или разместить несколько элементов ActiveX WBControl на форме ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2009, 18:50 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Вот такой еще вопрос. В режиме конструктора размер контрола Web Browser в форме один, в режиме формы – другой. Почему такое происходит? Причем в одной форме размер контрола в обоих режимах одинаков, в другой в режиме формы он становится больше, в третьей в режиме формы он становится меньше! Может это быть связано с тем, что в формах, где происходят изменения размера контрола, он расположен на вкладке (но тогда хоть менялся бы одинаково)? И еще, при вызове из формы, где размер контрола не изменяется, строка objIFrame.src = strFilePath прокатывает, а при вызове из двух других (где контрол расположен на вкладке) вызывает ошибку № 70 Permission denied. Если же контрол переместить с вкладки, то опять все идет нормально. Хотя у меня полные права на все формы… Как это побороть? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2009, 18:02 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
КДВот такой еще вопрос. мы все его уже ждали - просто не знали точно когда вы с этим столкнетесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2009, 19:12 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
А ответ на этот вопрос можно узнать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2009, 21:20 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
воспользуйтесь поиском по форуму - ранее уже обсуждалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2009, 23:15 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
> В режиме конструктора размер контрола Web Browser в форме один, в режиме формы – другой С этим вопросом разобрался. Вторая часть: > ошибка № 70 Permission denied пока актуальна... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2009, 18:47 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
КДВторая часть: > ошибка № 70 Permission denied пока актуальна... Из хелпа на эту ошибку хелп Была предпринята попытка записи на диск, защищенный от записи, или доступа к заблокированному файлу. Причины возникновения этой ошибки и способы ее устранения: · Была предпринята попытка открытия файла последовательного доступа, защищенного от записи, в режиме Output или Append. Откройте файл в режиме Input или снимите с него атрибут "только для чтения". · Была предпринята попытка открытия файла последовательного доступа, находящегося на диске, защищенном от записи, в режиме Output или Append. Снимите с диска защиту от записи или откройте файл в режиме Input. · Была предпринята попытка записи в файл, заблокированный другим процессом. Подождите открывать файл до тех пор, пока он не будет освобожден другим процессом. · Была предпринята попытка доступа к системному реестру без соответствующих прав. Пользователь 32-разрядных систем Microsoft Windows должен обладать определенными правами для доступа к системному реестру. Измените свои права доступа или обратитесь к администратору системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2009, 19:32 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
2 mds_world > Из хелпа на эту ошибку ... и т.д. Я тоже так думал. Но файлы не заблокированы, диск не защищен. Те же самые файлы прекрасно отображаются в таком же контроле другой формы, расположенном не на вкладке. Мало того, они без проблем отображаются и в этих самых проблемных контролах, стоит их переместить с вкладки. Я об этом уже писал. Копать, имхо, надо вот где. В MSDN (2005) при изучении хелпа на объект iframe я наткнулся на ссылку: About Cross-Frame Scripting and Security. В тексте ссылки встретилась такая фраза: "Scripts that attempt to access parts of the object model to which they do not have access are blocked with a "permission denied" error." Допустим, но присвоение значения свойству src объекта iframe никак не может считаться попыткой доступа к запрещенным частям. Если только iframe (или объекты в которые он входит) не считают помещение их в контейнер (набор вкладок) потенциально опасным. Но тут уже я не знаю что делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2009, 00:10 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Интересно… Создал новую форму, в ней набор вкладок (2 вкладки). На одну из них поместил Web Browser control. Все работает! Ладно. Пробую изменить порядок вкладок (меняя их индексы) и на следующей проверке вылетает Permission denied! Что же это такое, а?! Еще. Если надо вставить этот контрол на набор вкладок, его надо сначала поместить на область данных. На набор вкладок его перемещение можно осуществить двумя способами: вырезать, а затем вставить на вкладку. При этом в "Свойствах" его "Имя" будет по умолчанию "Web Browser4" (номер может быть другим). Второй способ: копировать, затем вставить на вкладку. При этом в "Свойствах" его "Имя" будет по умолчанию "Элемент ActiveX35" (номер может быть другим). Пользоваться только вторым способом, иначе – вышеупомянутый Permission denied. Это первое. Второе. Вставлять можно только на вкладку с нулевым индексом (т.е. только на первую). Попытки вставить на другие - Permission denied. Все вышесказанное – результаты моих экспериментов. Кому не лень – проверьте, м.б. удастся найти способ опровергнуть мои мрачные выводы о том, что данный ActiveX не очень дружелюбен в плане размещения его на вкладках. Куда только смотрит Microsoft? Но выход все-таки есть – подчиненные формы! Кладем сабформу с контролом Web Browser на любую вкладку и извращаемся далее по усмотрению. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2009, 18:09 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Так. Выплыл еще один любопытный нюанс. При попытке загрузить некоторые сохраненные html-страницы выплывает вот такая ерунда (см. картинку). На других все прокатывает. Это можно как-то победить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2010, 21:12 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Можно. Думаю, при запуске того же самого просто в браузере будет та же самая ошибка. Видимо, оно сохранилось на диске немножко не так, как было на сервере. Или прав не хватает при запуске без http. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 10:06 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
Саныч, так вот я чему и удивился несказанно. В браузере-то все отлично открывается, а тут - на тебе. И контрол ведь специально под это вроде бы заточен... Может, версия у меня не та? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 20:42 |
|
Контрол для отображения html
|
|||
---|---|---|---|
#18+
КДВ браузере-то все отлично открывается Тоже с диска C:? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 21:09 |
|
|
start [/forum/topic.php?fid=45&msg=35915204&tid=1630782]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 250ms |
total: | 382ms |
0 / 0 |