gui控制項繪製列表選單

2021-05-21 18:17:13 字數 2472 閱讀 2253

步驟:

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無效,元...