На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Pinned Windows



The shell can request Quick View to display a new file in the same window as that used by the previous file viewer; that is, Quick View can "pin" a viewer window. Quick View communicates the shell's request by sending a WM_DROPFILES message to the file viewer. The message contains an internal drop files structure whose members include the path of the new file to be displayed. A file viewer uses the same code to handle both the "pinned" state and drag and drop operations in which the file viewer displays a file that the user has dragged and dropped on the file viewer's window.

Quick View implements the IFileViewerSite interface, which allows a file viewer to retrieve the handle of the current pinned window, if there is any, or set a new pinned window. When Quick View calls a file viewer's IFileViewer::ShowInitialize member function, the file viewer receives the address of Quick View's IFileViewerSite interface. If the file viewer saves the address of the interface, it should call the IFileViewerSite::AddRef member function to increment the reference count.

Only one pinned window can exist at a time. A file viewer uses the IFileViewerSite::SetPinnedWindow interface to set a new pinned window and the IFileViewerSite::GetPinnedWindow interface to retrieve the handle of the current pinned window.
When Quick View calls the file viewer's IFileViewer::Show member function, the file viewer receives the address of a FVSHOWINFO structure that includes a optional RECT structure. A valid RECT structure is a hint from the shell that the file viewer window should be pinned; the file viewer should set the size and position of its window based on the information in the structure.

If the file viewer window receives a WM_DROPFILES message, it should fill in the strNewFile member of the FVSHOWINFO structure with the path of the new file to be displayed, fill the rect member with the size and position of the viewer window, and set the appropriate values in the dwFlags member. The file viewer should also fill the punkrel member with the address of an interface that the new file viewer should call to release the previous file viewer. Doing this allows the previous file viewer to perform cleanup operations. The new file viewer may be the same as the current file viewer if the current one supports the new file. If the old file viewer is the same as the new one, the release does not do anything because the reference count is greater than zero.

If a file viewer returns a file but Quick View cannot find a viewer for the new file, it calls the IFileViewer::Show member function for the old file viewer with the FVSIF_NEWFAILED value. The file viewer can either terminate or continue showing the previous file.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Штырьковое Окно



Оболочка может попросить Быстрый Вид, чтобы отображать новый файл в том же окне как, что использовался предшествующим файловым зрителем; то есть, Быстрый Вид может "приколоть" окно зрителя. Быстрый Вид передает просьбу оболочки посылая сообщение WM_DROPFILES файловому зрителю. Сообщение содержит структуру файлов внутренней капли, чьи участники включают путь нового файла, который нужно отображаться. Файловый зритель использует тот же код, чтобы оперировать как "штырьковые" государственные так и действия перераспределения в которых файловый зритель отображает файл, что потребитель потащил и падал в файловом окне зрителя.

Быстрая принадлежность Вида интерфейс IFileViewerSite, который позволяет файлового зрителя, чтобы извлекать ручку течения приколовшего окно, если есть любое или устанавливать новое штырьковое окно. Когда Быстрые вызовы Вида файловый зритель IFileViewer::функция члена ShowInitialize, файловый зритель получает адрес Быстрого интерфейса Вида IFileViewerSite. Если файловый зритель сохраняет адрес интерфейса, он должен вызывать IFileViewerSite::функция члена AddRef, чтобы увеличивать счет ссылки.

Только один приколовшее окно может просуществовать за один раз. Файловый зритель использует IFileViewerSite::интерфейс SetPinnedWindow, чтобы устанавливать новое штырьковое окно и IFileViewerSite::интерфейс GetPinnedWindow, чтобы извлекать ручку течения приколовшего окно.
Когда Быстрые вызовы Вида файловый зритель IFileViewer::функция члена Показа, файловый зритель получает адрес структуры FVSHOWINFO, которая включает дополнительную структуру RECT. Правильная структура RECT является намеком из оболочки, что файловое окно зрителя должно быть приколото; файловый абонент должен устанавливать размер и позицию своего окна находящиеся в информации в структуре.

Если файловое окно абонента получает сообщение WM_DROPFILES, оно должно заполнить элемент strNewFile структуры FVSHOWINFO путем нового файла, который нужно отображаться, заполните rect элемент размером и позицией окна абонента, и установите подходящие величины в элементе dwFlags. Файловый абонент должен также заполнять punkrel элемент адресом интерфейса, который новый файловый абонент должен вызывать, чтобы выпускать предшествующего файлового абонента. Делая это позволяет предшествующего файлового абонента, чтобы выполнять операции очистки. Новый файловый абонент может быть таким же как и текущий файловый абонент если текущие опоры новый файл. Если старый файловый абонент такой же как и новый, версия не делает что-нибудь поскольку счет ссылки больше, чем нуль.

Если файловый абонент возвращает файловый но Быстрый Вид не может найти абонента для нового файла, он вызывает IFileViewer::функция элемента Показа для старого файлового абонента с величиной FVSIF_NEWFAILED. Файловый абонент может или завершать или продолжать показывать предшествующий файл.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz