DuiVision开发教程(19)-菜单
DuiVision菜單類是CDuiMenu。有兩種顯示的位置,一種是在窗體頂部某個button點擊后能夠下拉一個菜單,還有一種是托盤圖標(biāo)的右鍵菜單。
窗體中的菜單定義方式是xml文件里設(shè)置某個button的action屬性,以menu:開頭。后面是菜單的XML文件名稱或XML定義名,比如以下這樣定義:
托盤菜單默認是依照resource.xml中定義的menu_tray指向的XML文件來載入菜單。
兩種方式載入的菜單定義XML文件格式都是同樣的,參考前面XML說明章節(jié)的演示樣例。
菜單類的屬性例如以下:
| width | 數(shù)字 | 菜單窗體寬度 |
| item-height | 數(shù)字 | 每一個菜單項的高度 |
| left | 數(shù)字 | 菜單左側(cè)圖標(biāo)區(qū)的寬度 |
| sep-height | 數(shù)字 | 菜單分隔線的高度 |
| font | 字符串 | 字體 |
| fontwidth | 數(shù)字 | 字體寬度 |
| frame-width | 數(shù)字 | 菜單項距離邊框的寬度 |
| top-height | 數(shù)字 | 菜單項頂部距離邊框的高度 |
| bottom-height | 數(shù)字 | 菜單項底部距離邊框的高度 |
| crrowhover | 顏色 | 菜單項背景顏色(鼠標(biāo)移動到菜單項時候的顏色),假設(shè)不設(shè)置則使用默認顏色 |
| img-rowhover | 圖片 | 菜單項背景圖片(鼠標(biāo)移動到菜單項時候的背景圖片),優(yōu)先級比背景顏色高 |
| img-popuparrow | 圖片 | 彈出菜單箭頭圖片 |
經(jīng)常使用函數(shù)例如以下:
| LoadXmlFile | 否 | 載入菜單XML文件 |
| AddMenu | 否 | 動態(tài)加入菜單項 |
| AddSeparator | 否 | 動態(tài)加入菜單分隔線 |
| SetItemTitle | 否 | 預(yù)設(shè)值菜單項的標(biāo)題 |
| SetItemVisible | 否 | 預(yù)設(shè)值菜單項的可見性 |
| SetItemDisable | 否 | 預(yù)設(shè)值菜單項的禁用狀態(tài) |
| SetItemCheck | 否 | 預(yù)設(shè)值菜單項的檢查標(biāo)志 |
| SetMenuPoint | 否 | 刷新全部菜單項的位置信息 |
| GetParentMenu | 否 | 獲取父菜單對象 |
| GetHoverMenuItem | 否 | 獲取當(dāng)前激活菜單項對象 |
菜單中載入的每一個菜單項的控件是CMenuItem類??丶愋兔莔enuitem,菜單項的屬性例如以下:
| seperator | 0|1 | 是否分隔線 |
| select | 0|1 | 是否選擇(假設(shè)是checkbox或radiobutton類型的菜單項,此屬性必須設(shè)置為1) |
| check | 0|1 | 是否處于選中狀態(tài) |
| group | 字符串 | 廣播button所屬的組名,同樣組名的廣播button是屬于一組的。能夠聯(lián)動。一組中僅僅有一個會處于選中狀態(tài) |
| value | 字符串 | 廣播button的值,一組廣播button中的多個button值是不一樣的。當(dāng)獲取這一組廣播button的值時候,獲取的就是選中的button的值 |
| menu | 字符串 | 引用其它的菜單的名字(通過資源定義能夠找到的菜單的名字),設(shè)置了這個屬性,則會將相應(yīng)的菜單嵌入當(dāng)前菜單中 |
| image | 圖片 | 菜單項左側(cè)的小圖片,假設(shè)是彈出菜單,而且沒有設(shè)置菜單的img-popuparrow屬性。則image屬性表示菜單項右側(cè)的箭頭圖片 |
| img-count | 數(shù)字 | 設(shè)置菜單項左側(cè)圖片是由幾個并列的小圖片組成的 |
| taskmsg | 0|1 | 是否通過任務(wù)方式運行菜單處理函數(shù),假設(shè)彈出菜單的處理函數(shù)中有堵塞或等待的操作(比如打開一個對話框),則運行過程中彈出菜單可能會由于失去焦點而將自身的對象刪除,這樣的情況下就須要通過任務(wù)方式運行菜單處理函數(shù),任務(wù)方式是將操作插入任務(wù)隊列。由任務(wù)隊列線程再去運行菜單處理函數(shù) |
菜單項類的經(jīng)常使用函數(shù)例如以下:
| SetCheck | 否 | 設(shè)置是否選擇 |
| GetCheck | 否 | 獲取是否選擇的狀態(tài) |
| IsSeparator | 否 | 推斷是否分隔線 |
| SetGroupName | 否 | 設(shè)置廣播button組的名字 |
| GetGroupName | 否 | 獲取廣播button組的名字 |
| GetValue | 否 | 獲取廣播button的值 |
| GetGroupValue | 否 | 獲取廣播button組的值 |
| ResetGroupCheck | 否 | 刷新父控件以下全部同一個組的RadioButton控件的狀態(tài) |
菜單界面示比例如以下:
DuiVision開源碼下載地址(github):https://github.com/blueantst/DuiVision
藍螞蟻工作室主頁:http://www.blueantstudio.net
DuiVision QQ群:325880743
微信公眾號:blueantstudio 或搜索 藍螞蟻工作室
轉(zhuǎn)載于:https://www.cnblogs.com/gccbuaa/p/7026365.html
總結(jié)
以上是生活随笔為你收集整理的DuiVision开发教程(19)-菜单的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现在早上起来都还是感觉颈椎有些通
- 下一篇: 十二、泛型、反射和异常