Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.09.2003, 01:26
|
|||
|---|---|---|---|
|
|||
TOleContainer - страницы |
|||
|
#18+
Итак, есть OleContainer, в который грузится вордовский документ. Хочется сделать чтобы, если в нем несколько страниц, то можно было их посмотреть, не активизируя документ (т. е., не делая DoVerb(ovShow) или чего-то в этом роде). Казалось бы, это должно делаться через OLE Automation. Но: OleObjectInterface возвращает объект, реализующий IDispatch только после активации документа, до этого данный интерфейс не реализуется. Сам TOleContainer для отрисовки неактивного документа использует OleDraw(), которая, судя по MSDN, вызывает, в свою очередь, IViewObject::Draw(). У последнего же есть некий параметр LONG lindex, описание которого мне найти не удалось. Возможно, можно что-то сделать с его помощью? Или есть еще какие-нибудь пути? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2003, 09:03
|
|||
|---|---|---|---|
TOleContainer - страницы |
|||
|
#18+
привет! да уж вопрос... у меня тоже было много вопросов по ОлеКонтэйнеру, но увы до сих пор без ответа. пробовал сам копать и писать свой контэйнер - не осилил, то времени нет то инфы не хватает то еще чего :-) если что узнаешь, напиши пожалста - меня эта проблема тоже очень интересует. ЗЫ: то что показывает олеконтайнер не активированный это просто в нем хранится как набор пикселов или все же нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2003, 10:27
|
|||
|---|---|---|---|
|
|||
TOleContainer - страницы |
|||
|
#18+
2 Mihail R. Если узнаю - напишу. А по поводу того, что он показывает - нет, это не набор писелов (тем более, он же все равно должен откуда-то эти пиксели брать, правильно?). Просто объект, возвращаемый OleObjectInterface при неактивном документе все равно реализует интерфейс IViewObject, у которого есть метод Draw(). По сути, именно он и занимается отрисовкой - ему передаются всякие там HDC, прямоугольник, в который надо рисовать и проч. А вот что обозначает его параметр lindex - непонятно. Вроде пишут, что он обозначает, какую часть документа выводить, а подробнее - смотрите где-то там... в общем, там этого я не нашел. Если бы это было то, что нужно - можно было бы спокойно написать своего наследника TOleContainer'а и переписать в нем Paint. Наверное, попробую так сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2117029]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 386ms |

| 0 / 0 |
