成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VS 2010中CommandBarButton.Mask屬性的使用

原創
開發 后端
本文將談到的是Visual Studio 2010中的ommandBarButton.Mask屬性的使用,包括使用這個屬性的一些禁忌。

【51CTO精彩譯文】正如你從我過去幾個月的博文中所了解的那樣,Visual Studio 2010將會采用基于WPF的命令窗口,除了支持采用RBG=0,254,0做背景的24位位圖顯示外,還添加支持32位位圖顯示,其中包含透明度轉換圖片命令。雖然Visual Studio 2010 Beta1只支持新的顯示模式,但Beta2將會在此基礎上向后兼容過去的顯示模式。

Visual Studio 2005的工具窗口以及其他一些更高的版本,一貫是要么只支持含內置透明度轉換圖片命令的32位位圖顯示模式,要么只支持采用RBG=0,254,0做背景的24位位圖顯示模式。而Visual Studio 2010可以同時支持這兩種工作模式。

對于用戶自定義圖片時的第三個也是最后一個問題,出現在你想要直接設置(而不是靠命令)帶命令欄圖片的時候。一些人之所以要采用這種直接設置的方法,是因為這樣可以避免產生一些附帶的、不必要的動態鏈接庫,而就我個人而言,我一般不采用或者推薦這種方法。除了這種情況:當需要提供一些沒有后臺菜單輸入命令的列表視圖或者樹狀視圖的背景菜單時(因為對于這類列表視圖或菜單視圖的背景菜單操作,“添加”、“編輯”、“刪除”等這類的動作,都不是全局性的)。為了使這種背景菜單從外觀和感覺上100%的與Visual Studio相一致,我建立了一個CommandBarPopup。雖然我沒有專門撰文來說明這一點,但它的基本思想是創建一個命令欄彈出調用:

  1. myCommandBarPopup=dte.CommandBars.Add(Name:="MyCommandBar", Position:=MsoBarPosition.msoBarPopup, Temporary:=True)  
  2. and then add CommandbarButtons calling:  
  3. myCommandBarButton=DirectCast(myCommandBarPopup.Controls.Add(...), CommandBarButton)  
  4. and then set the Caption, Picture and Mask properties:  
  5. myCommandBarButton.Caption = "..." 
  6. myCommandBarButton.Picture = ...   
  7. myCommandBarButton.Mask = ... 

然后再為鼠標點擊事件設置一個處理程序。

請注意,在上述操作中我們必須要提供一個“圖片”位圖值和“掩碼”位圖,Visual Studio 2005和Visual Studio 2008中“圖片”位圖在任何顏色背景下都應該是24位的位圖,而“掩碼”位圖采用的是白色=255,255,255像素(這本應該是透明的顏色)、黑色=0,0,0像素(這實際是彩色圖片的像素)的位圖。由于對于每個按鈕都要提供兩個位圖值,所以這是相當不方便的,大多數人會采用用戶自定義的方法來從圖片鏡像中產生掩碼位圖。

然而,這種方法在Visual Studio 2010中是行不通的。因為Visual Studio 2010支持含內置透明度轉換的32位位圖,微軟不推薦使用CommandBarButton.Mask屬性(那些已經使用過了的除外)。因此,如果你要在我所提及的任一種情況中加載Visual Studio 2005或者2008來使用CommandBarButton.Mask屬性,那么你需要重新訪問和調整CommandBarButton.Mask,從而來讓它順利的在Visual Studio  2009中工作。如果你想在Visual Studio  2005、2008和2010中使用相同的動態鏈接庫,一種方法是對Visual Studio 2010版本設計帶內置透明度項的32位位圖鏡像,對Visual Studio 2005和2008版本產生24位的“圖片”位圖和“掩碼”位圖。如果你只是要加載到Visual Studio 2010中,則不必再使用CommandBarButton.Picture的方法,這樣可以避免生成不必要的動態鏈接庫,因為Visual Studio  2010將會自動的去掉多余的動態鏈接庫。

責任編輯:彭凡 來源: 博客
相關推薦

2010-05-06 17:46:47

2023-12-01 10:20:04

Python類屬性

2011-01-18 08:55:20

IntelliTracVS2010

2011-08-16 14:50:05

CMFCToolBarVS2010

2009-12-15 10:17:38

VS 2010軟件

2011-09-01 15:51:53

Qt插件VS 2010

2010-01-14 10:56:43

Visual C++

2009-12-02 14:19:09

VS 2010產品

2010-03-19 16:43:37

Visual Stud

2009-09-03 09:57:59

Visual StudVS 2010

2010-03-19 16:07:41

Exchange 20

2010-03-19 13:17:26

Parallel

2009-12-02 14:54:20

VS.NET 2010

2009-12-11 15:13:15

VS 2010驅動

2009-11-11 11:29:37

VS2010 Auto

2010-12-16 10:00:20

QtVisual Stud

2009-12-02 14:05:17

VS2010程序

2009-08-31 10:08:24

VS 2010.NET 4Visual Stud

2009-12-15 17:42:29

2009-12-11 14:16:11

VS2010 Ulti
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成年人小视频 | 国产精品区二区三区日本 | 久久久久国色av免费观看性色 | 成人久久久 | 国产精品乱码一区二三区小蝌蚪 | 天堂av在线影院 | 欧美精品影院 | 国产精品久久久久av | 久热精品免费 | 99久久精品一区二区成人 | 91麻豆精品国产91久久久久久 | 中文字幕1区 | 密乳av | 国产成人在线视频 | 欧美一区二不卡视频 | 色综合天天天天做夜夜夜夜做 | 国产欧美三区 | 99精品一级欧美片免费播放 | 日韩精品在线观看免费 | 亚洲精品在线免费播放 | 亚洲国产成人精品女人 | 欧美一二区| 久久午夜电影 | 最新国产精品精品视频 | 亚洲精品电影在线观看 | 国产精品久久久久久久久久免费看 | 人人爱干| 亚洲精品久久久一区二区三区 | 久久国产日本 | 欧美日韩高清在线一区 | 在线看免费 | 欧美精品福利视频 | 日韩一区二区三区视频在线观看 | 亚洲第一福利视频 | 亚洲精品欧美 | 色综合一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 日韩在线大片 | 特级一级黄色片 | 亚洲欧美日韩电影 | 青青草亚洲 |