![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Собственно сабж...
Хотелось бы сделать такую штуку как в винде когда делаешь любой OpenDialog там же есть такая штука с предаврительным просмотром любого как я понимаю зарегистрированного типа файла... вот на форме у себя хотелось бы такое разместить мучался с OleContainer, я так понимаю концы туда ведут... но (отмечаю только то что можно сделать в стандартном опендиалоге и не получилось никак с контейнером) 1. полоски прокрутки в границах контейнера 2. лишние менюхи в ворде\экселе 3. пдф вообще вылазит целиком окно акробата в общем если кто может помочь с этим... повторюсь задача стоит чтоб показывалось также как и в окошке предварительного просмотра винды (7) ну или лучше |
|
#2
|
||||
|
||||
|
На самом деле не всё так просто - виндовс показывает не сам документ, а его скриншот, для получения которого работает специальный сервис предварительного просмотра. Не знаю как насчёт уже зарегистрированных типов, есть лишь пример как можно отображать превьюшку своего файла (инсталлятор - это регистратор библиотеки плюс исходник и примеры "своих" файлов для проверки), для этого нужно прописать его в системном сервисе с помощью внедрения туда DLL... в исходниках этот процесс расписан довольно подробно
|
|
#3
|
|||
|
|||
|
хм... да мне собственно своих то не надо... мне б достаточно было б и того что в опендиалоге в превьюшке есть... мож какаянить функция с winapi это может... или еще что ну както вот так
|
|
#4
|
||||
|
||||
|
Я знаю, что в XP за "Программу просмотра изображений и факсов" отвечает shdocwv.dll (Shell Document View). В современных версиях Delphi есть модуль SHDocWv.pas, но в нем что-то больше про браузер. Не знаю.
|
|
#5
|
||||
|
||||
|
|
|
#6
|
|||
|
|||
|
та неееет
вот так http://prntscr.com/3pdls2 например ну сделайте где угодно файл-> открыть и тама справа окошко предварит. просмотра |
|
#7
|
|||
|
|||
|
Цитата:
Да ладно???? его даже редактировать можно в окошке превьюхи ну речь о вин7 я хз про ХП помоему все забыли давно уже |
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
|||
|
|||
|
дык я об этом еще в первом посте написал
что речь об olecontainer и на 99% уверен что все решается одной строчкой так как по логике врятли микрософт бы заморачивался скорее всего объявили стандартом какуюто одну команду типа OleObject.PreviewMode=True или OleObject.HideMenu или DoVerb(ovPreview) ну чтото в этом роде или ShowContent вот вопрос что это за команда\процедура\параметр... |
|
#10
|
||||
|
||||
|
Цитата:
|
|
#11
|
||||
|
||||
|
Цитата:
Посмотрел в исходниках. В реализации TOleContainer используются команды DoVerb(ovPrimary) и DoVerb(ovShow) для реализации свойства AutoActivate. |
|
#12
|
|||
|
|||
|
http://prntscr.com/3qa0uy
а у меня вот так |
|
#13
|
||||
|
||||
|
Я вот ведь гад какой -- сравнил diff-ом OleCntrs.pas от Delphi 6 и XE2. Оказалось, что он почти не изменился, только пара незначащих строчек добавилась. Тут уже надо серьезно исследовать, видимо.
Жарко. ![]() |