日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Thumbnail Windows 7 任務(wù)欄開發(fā)之縮略圖預(yù)覽

上一篇我們對任務(wù)欄進度條的開發(fā)有了相應(yīng)的了解,本篇將對縮略圖預(yù)覽功能進行研究 。提起縮略圖預(yù)覽相信使用過Windows 7 的朋友一定不會陌生,它可以說是Windows 7 的一大亮點 。不論運行的程序是否處于活動狀態(tài),只要將鼠標(biāo)放在任務(wù)欄圖標(biāo)上便會出現(xiàn)當(dāng)前程序的預(yù)覽效果 。如下圖所示我們可以快速的在IE 縮略圖中找到想看的網(wǎng)頁 。當(dāng)然在Windows API 中也提供了許多開發(fā)縮略圖的工具,下面我們來看看如何使用它們 。
TabbedThumbnail.TabbedThumbnail 方法
在默認(rèn)情況下Windows 7 會顯示應(yīng)用程序界面(如下圖),如果想替換或增加新的縮略圖,首先應(yīng)通過TabbedThumbnail 類的TabbedThumbnail 方法創(chuàng)建一個新的縮略圖(Thumbnail) 。
在TabbedThumbnail 類中,有三個TabbedThumbnail 方法可以創(chuàng)建縮略圖:
//設(shè)定父窗口和子窗口/控件 
public TabbedThumbnail(IntPtr parentWindowHandle, IntPtr windowHandle) 
{ 
if (parentWindowHandle == IntPtr.Zero) 
throw new ArgumentException("Parent window handle cannot be zero.", 
"parentWindowHandle"); 
if (windowHandle == IntPtr.Zero) 
throw new ArgumentException("Child control"s window handle cannot be zero.", 
"windowHandle"); 
WindowHandle = windowHandle; 
ParentWindowHandle = parentWindowHandle; 
} 
 
//設(shè)定父窗口和子控件 
public TabbedThumbnail(IntPtr parentWindowHandle, Control control) 
{ 
if (parentWindowHandle == IntPtr.Zero) 
throw new ArgumentException("Parent window handle cannot be zero.", 
"parentWindowHandle"); 
if (control == null) 
throw new ArgumentNullException("control"); 
WindowHandle = control.Handle; 
ParentWindowHandle = parentWindowHandle; 
} 
 
//設(shè)定父窗口或WPF子控件,以及兩者的偏移量 
public TabbedThumbnail(Window parentWindow, UIElement windowsControl, 
Vector peekOffset) 
{ 
if (windowsControl == null) 
throw new ArgumentNullException("control"); 
if (parentWindow == null) 
throw new ArgumentNullException("parentWindow"); 
WindowHandle = IntPtr.Zero; 
WindowsControl = windowsControl; 
WindowsControlParentWindow = parentWindow; 
ParentWindowHandle = (new WindowInteropHelper(parentWindow)).Handle; 
PeekOffset = peekOffset; 
}
TabbedThumbnail.AddThumbnailPrevIEw 方法
通過AddThumbnailPreview 方法將TabbedThumbnail 添加到任務(wù)欄縮略圖中:
public void AddThumbnailPreview(TabbedThumbnail preview){… …}
TabbedThumbnailManager.SetActiveTab 方法
通過SetActiveTab 方法將指定的縮略圖、窗口句柄、Form控件、WPF控件設(shè)置為活動狀態(tài) 。例如,在IE 中我們打開了多個網(wǎng)頁標(biāo)簽,那么SetActiveTab 可以將其中一個標(biāo)簽設(shè)為當(dāng)前瀏覽頁 。
public void SetActiveTab(TabbedThumbnail preview){… …} 
public void SetActiveTab(IntPtr windowHandle){… …} 
public void SetActiveTab(Control control){… …} 
public void SetActiveTab(UIElement WindowsControl){… …}
TabbedThumbnailManager.GetThumbnailPreview 方法
通過GetThumbnailPreview 方法獲取指定的窗口句柄、Form控件、WPF控件的縮略圖(TabbedThumbnail):
public TabbedThumbnail GetThumbnailPreview(IntPtr windowHandle){… …} 
public TabbedThumbnail GetThumbnailPreview(Control control){… …} 
public TabbedThumbnail GetThumbnailPreview(UIElement windowsControl){… …}
TabbedThumbnailManager.RemoveThumbnailPreview 方法

推薦閱讀