Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OLE [D6, Win95/98]


skiph ©   (2002-02-08 07:46:00) 

Когда загружаю OLE-объект в OLEContainer из файла (вордовый документ) без вызова метода DoVerb, объект загружается в окно, так сказать, в "режиме просмотра": фон серый и никаких функций для редактирования. Если вызвать метод DoVerb с любым из значений параметра (ovShow или ovPrimary) появляются широкие возможности редактировать объект (что-то вроде Office в дельфе). Но обратно вернуться в "режим просмотра" уже не могу. Вопросы:
1) Как после вызова метода DoVerb вновь перейти в "режим просмотра". (выгружать и снова загружать не пойдет по техническим причинам)
2) Как в "режиме просмотра" изменить цвет фона с серого на булый?


PVOzerski   (2002-02-14 13:54:00) [1]

1) Не поддерживает ли Ваш Ole-объект интерфейс IViewObject или IViewObject2? - тогда можно
воспользоваться OleDraw;
2) В конце концов, возьмите HWND (property Handle) Вашего OLEContainer"а, сделайте GetDC, а
потом BitBlt. Может, правда, понадобится HWND не самого OLEContainer"а, а какого-то его child"а,
так на то EnumChildWindows есть.


skiph   (2002-02-14 13:14:00) [2]

Меня тоже посещала такая мысль, но как ее реализовать, если у OLEContainer нет Canvas, а Image, ессенно, не имеет метода Past (в противовес Copy у контейнера)?


PVOzerski   (2002-02-11 11:13:00) [3]

2) А поверх OleContainer на форму можно положить, скажем, Image, копировать туда изображение из
OleContainer и менять все с серого на белое.


skiph   (2002-02-11 07:57:00) [4]

За 1) огромное спасибо. А по поводу 2) может есть какая заморочка? очень надо.


serg   (2002-02-08 09:54:00) [5]

1) TOleContainer.Close;
2) никак


Наверх

Титульная страница Поиск, карта сайта Написать письмо