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