<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><img src="http://my.csdn.net/uploads/201206/03/1338720214_7295.png" alt=""><stroke joinstyle="miter"><formulas><f eqn="if lineDrawn pixelLineWidth 0"><f eqn="sum @0 1 0"><f eqn="sum 0 0 @1"><f eqn="prod @2 1 2"><f eqn="prod @3 21600 pixelWidth"><f eqn="prod @3 21600 pixelHeight"><f eqn="sum @0 0 1"><f eqn="prod @6 1 2"><f eqn="prod @7 21600 pixelWidth"><f eqn="sum @8 21600 0"><f eqn="prod @7 21600 pixelHeight"><f eqn="sum @10 21600 0"></f></f></f></f></f></f></f></f></f></f></f></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"><lock aspectratio="t" v:ext="edit"></lock></path></stroke></shapetype>
看上圖,是一個很常見的工具欄按鈕,左邊是當前操作按鈕圖標,右邊是下拉菜單按鈕,點擊能夠顯示更多操作。
當點擊下拉菜單的操作后,左邊的按鈕圖標也相應的改變為最后點擊的菜單操作,這樣用戶下次再使用該操作時就無須在點擊下拉菜單選取操作,直接點左邊的按鈕即可。
我把這款按鈕封裝成一個通用的控件,控件內部自己管理操作列表與當前操作。
看下面代碼,我為按鈕控件定義了一個 Items 屬性,接收一個數組,數組項主要是描述操作的圖標、名稱。然后,向按鈕注冊操作項的處理事件。
_ BorderButton.Items = [
{icon:Icon16.OBJ_BORDER_BOTTOM,label: " 下邊框 " },
{icon:Icon16.OBJ_BORDER_TOP,label: " 上邊框 " },
{icon:Icon16.OBJ_BORDER_LEFT,label: " 左邊框 " },
{icon:Icon16.OBJ_BORDER_RIGHT,label: " 右邊框 " },
{icon:Icon16.OBJ_BORDER_NONE,label: " 無邊框 " },
{icon:Icon16.OBJ_BORDER_ALL,label: " 所有邊框 " },
{icon:Icon16.OBJ_BORDER_OUTER,label: " 外側邊框 " }];
_ BorderButton.addEventListener( DropDownToolButtonEvent.ITEM_CLICK, OnBorderButtonItemClick );
事件的響應函數,根據操作名稱判斷執行的后續操作。
private function OnBorderButtonItemClick (e:DropDownToolButtonEvent): void
{
var label:String = e.Item.label ;
switch ( label)
{
case " 下邊框 " :
break ;
case " 上邊框 " :
// 略 …
這款按鈕在工具型的軟件使用的較多,看看以下實際的使用效果。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
