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

start [/forum/topic.php?fid=58&msg=32254162&tid=2117029]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 280ms |
| total: | 423ms |

| 0 / 0 |
