步驟:
1. 先建立乙個列表選單框架,
fixed_list_menu my_fixed_list_menu;//宣告選單框架
memset(&my_fixed_list_menu,0,sizeof(fixed_list_menu));
gui_create_fixed_list_menu(&my_fixed_list_menu,20,mmi_content_y+5,136,mmi_content_height-50);//位置和大小
mmi_current_menu_type=list_menu;
2.建立選單項,
2.1 設定公共屬性
fixed_icontext_menuitem my_fixed_icontext_menuitem_common;//選單項公共屬性
memset(&my_fixed_icontext_menuitem_common,0,sizeof(fixed_icontext_menuitem));
gui_create_fixed_icontext_menuitem(&my_fixed_icontext_menuitem_common,200,40);//設定寬高
gui_fixed_icontext_menuitem_set_text_position(&my_fixed_icontext_menuitem_common,24,0);//設定文字偏移位置
my_fixed_icontext_menuitem_common.flags |=ui_menuitem_disale_background;
2.2設定選單項的單項屬性
#define nitems (4)//選單項的數目
fixed_icontext_menuitem_type my_fixed_list_menuitem[nitems];//icontext型的選單項
void *my_fixed_menuitem_pointers[nitems];//指向選單項列表的索引列表
memset(&my_fixed_list_menuitems,0,sizeof(fixed_list_icontext_menuitem)*nitems);
my_fixed_list_menuitems[i].item_icon=(pu8)getimage(img_global_l1+i);//選單項圖示
my_fixed_list_menuitems[i].flags=(ui_menuitem_center_text_y|ui_mneuitem_center_icon_y);
my_fixed_list_menuitems[i].item_icon_handle=gdi_error_handle;
my_fixed_menuitem_pointers[i]=(void*)&my_fixed_list_menuitems[i];//給索引項賦值(資料位址)
3.聯合選單框架和選單項,
my_fixed_list_menu.items=my_fixed_menuitem_pointers;//選單項索引列表
my_fixed_list_menu.common_item_data=(void*)&my_fixed_icontext_menuitem_common;//選單項公共屬性
my_fixed_list_menu.n_items=nitems;
gui_set_fixed_list_menu_item_functions(&my_fixed_list_menu,
gui_show_fixed_icontext_menuitem,//顯示選單函式
gui_measure_fixed_icontext_mneuitem,//測量選單項
gui_highlight_fixed_icontext_menuitem,//高亮函式
gui_remove_highlight_fixed_icontext_menuitem,//失去高亮函式
gui_hide_fixed_icontext_menuitem,//選單項隱藏函式
resize_fixed_icontext_menuitems,//重設選單項大小
gui_get_fixed_icontext_list_menuitem_flag//
4.顯示選單。
s32 highlight_item=0;//選單高亮項
my_fixed_list_menu.highlighted_item=-1;
//選單高亮項索引,此為選單框架內部屬性值,在跳轉之前一定要設定為-1
gui_fixed_list_menu_goto_item(&my_fixed_list_menu,highlight_item);
gui_show_fixed_list_menu(&my_fixed_list_menu);
5.進入選單項功能函式
在選單函式中增加左軟鍵功能
為什麼要這樣做?
剛進入選單時,高亮項的處理函式是不執行的,也就是說不進行刷屏的話是獲取不到item_index的。
GUI 剖析之列表框控制項(ListView)
pragma comment lib,comctl32.lib 導入庫comctl32.lib define max loadstring 100 define idc listview 1 全域性變數 hinstance hinst 當前例項 tchar sztitle max loadstrin...
選單按鈕繪製
首先,使用乙個a元素來作為dom容器 href menua 對a元素做一些樣式設定 在這裡,我們要設定的選單要有三條橫線,然後我們在設計關閉按鈕時只能設定兩條橫線。因此,我們需要想其他的方法來設計三條直線 用box shadow屬性,將陰影的模糊值設為最小,並設定好陰影的spread尺寸,陰影就將呈...
Python介面繪製之GUI
from tkinter import tkinter有三種方式進行布局管理 pack屬性 屬性 簡介可能取值 fill 元件水平或垂直方向的填充 x 水平方向填充 y 垂直方向填充 both 水平和垂直方向填充 none 不填充 expand 設定元件是否展開,預設不展開 yes side無效,元...