亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Windows 7 任務欄開發之縮略圖預覽(Thumbnail)

瀏覽:5日期:2023-05-31 15:12:22

上一篇我們對任務欄進度條的開發有了相應的了解,本篇將對縮略圖預覽功能進行研究。提起縮略圖預覽相信使用過Windows 7 的朋友一定不會陌生,它可以說是Windows 7 的一大亮點。不論運行的程序是否處于活動狀態,只要將鼠標放在任務欄圖標上便會出現當前程序的預覽效果。如下圖所示我們可以快速的在IE 縮略圖中找到想看的網頁。當然在Windows API 中也提供了許多開發縮略圖的工具,下面我們來看看如何使用它們。

TabbedThumbnail.TabbedThumbnail 方法

在默認情況下Windows 7 會顯示應用程序界面(如下圖),如果想替換或增加新的縮略圖,首先應通過TabbedThumbnail 類的TabbedThumbnail 方法創建一個新的縮略圖(Thumbnail)。

在TabbedThumbnail 類中,有三個TabbedThumbnail 方法可以創建縮略圖:

//設定父窗口和子窗口/控件 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; }  //設定父窗口和子控件 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; }  //設定父窗口或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 添加到任務欄縮略圖中:

public void AddThumbnailPreview(TabbedThumbnail preview){… …}

TabbedThumbnailManager.SetActiveTab 方法

通過SetActiveTab 方法將指定的縮略圖、窗口句柄、Form控件、WPF控件設置為活動狀態。例如,在IE 中我們打開了多個網頁標簽,那么SetActiveTab 可以將其中一個標簽設為當前瀏覽頁。

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 方法

通過RemoveThumbnailPreview 方法將指定的縮略圖、窗口句柄、Form控件、WPF控件從任務欄縮略圖中刪除:

public void RemoveThumbnailPreview(TabbedThumbnail preview){… …} public void RemoveThumbnailPreview(IntPtr windowHandle){… …} public void RemoveThumbnailPreview(Control control){… …} public void RemoveThumbnailPreview(UIElement windowsControl){… …}

TabbedThumbnailManager.IsThumbnailPrevIEwAdded 方法

通過IsThumbnailPreviewAdded 方法判斷的縮略圖、窗口句柄、Form控件、WPF控件是否已添加,并返回Bool 值:

public bool IsThumbnailPreviewAdded(TabbedThumbnail preview){… …} public bool IsThumbnailPreviewAdded(IntPtr windowHandle){… …} public bool IsThumbnailPreviewAdded(Control control){… …} public bool IsThumbnailPreviewAdded(UIElement control){… …}

TabbedThumbnailManager.SetTabOrder 方法

通過SetTabOrder 方法調換兩個TabbedThumbnail 前后位置,注意第一個TabbedThumbnail 將調換到第二個TabbedThumbnail 的前面。

public void SetTabOrder(TabbedThumbnail previewToChange, TabbedThumbnail insertBeforePreview){… …}

效果演示

通過以上方法就能夠隨心所欲的設定縮略圖了,下面就將上面示意圖中的縮略圖改為Windows Logo 圖標,其中ui 即為XAML 代碼中控件的名稱(x:Name):

TabbedThumbnail newPreview = new TabbedThumbnail(Application.Current.MainWindow, ui, peekOffect); TaskbarManager.Instance.TabbedThumbnail.AddThumbnailPreview(newPreview); TaskbarManager.Instance.TabbedThumbnail.SetActiveTab(newPreview);

點擊“Set this image as thumbnail 前后對比,縮略圖變為了<Image> 控件:

修改前 

修改后

點擊“Add another thumbnail 后,可將<Button> 控件加入縮略圖中:

點擊 “Change thumbnail order 調換縮略圖前后位置:

另外,還可以通過TabbedThumbnail.Tooltip 屬性為縮略圖添加提示信息。當鼠標置于縮略圖上方時,將會有相應的ToolTip 顯示:

newPrevIEw.Tooltip = 'Welcome to Windows 7';

出處:http://www.cnblogs.com/gnielee/

標簽: Windows系統
相關文章:
主站蜘蛛池模板: 黄色在线视频免费 | 日本特黄特黄刺激大片 | 成人va | 男女一级毛片免费视频看 | 91久久亚洲精品一区二区 | 亚洲伦理一二三四 | 高清免费a级在线观看国产 高清免费毛片 | 男女很黄很色床视频网站免 | 国产成人久久一区二区三区 | 国产精品永久免费视频观看 | 黄色一及毛片 | 黄色片在线观看免费 | 亚洲欧美在线精品 | 欧美日韩在线观看一区二区 | 久久久精品国产免费观看同学 | 亚洲第一第二区 | 美女一级毛片免费看看 | 啪啪中文字幕 | 成年大片免费高清在线看黄 | 成人免费网址 | 国产色在线 | 亚洲 国产色在线com | 国产免费一级片 | 国产做爰免费视频观看 | 欧美日韩视频二区三区 | 三级黄色大片 | 国产一区二区三区美女在线观看 | 99久久精品免费看国产免费 | 综合图片区 | 无内丝袜透明在线播放 | 久久国产资源 | 成人禁啪啪网站 | 放几个免费的毛片出来看 | 国产一区二区丁香婷婷 | 国产精品久久久久久久久 | 久久久久国产视频 | 国产理论视频在线观看 | 久久精品天天爽夜夜爽 | 在线观看一区二区精品视频 | 免费在线黄色网址 | 国产精品1024永久免费视频 | 青青艹视频在线 |