![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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) никак