|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
|  | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  OleContainer и предварительный просмотр всего и вся Собственно сабж... Хотелось бы сделать такую штуку как в винде когда делаешь любой 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. Оказалось, что он почти не изменился, только пара незначащих строчек добавилась. Тут уже надо серьезно исследовать, видимо. Жарко.  |