AWTK是基于C語言開發(fā)的跨平臺GUI框架?!禔WTK使用經(jīng)驗》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計自定義進度條?這些都會在系列文章進行解答。
假設(shè)需要在 ZTP800示教器 實現(xiàn)一個用于日期選擇的下拉框,并且還要求對下拉框做一些美化,此時就需要用戶自定義下拉框樣式。下面將結(jié)合該需求介紹兩種修改combo_box下拉框樣式的方法。
利用theme_of_popup屬性修改樣式
第一種方式是通過combo_box的theme_of_popup屬性修改下拉框樣式,該屬性需要指定一個樣式文件名稱,combo_box控件會應(yīng)用該文件內(nèi)的下拉框樣式。
?
圖2使用theme_of_popup屬性修改下拉框樣式在項目的design/default/styles目錄下創(chuàng)建一個xml文件作為下拉框的樣式文件,并配置以下兩個樣式:1. 彈出窗口本身的樣式,style名稱為“combobox_popup”。
"combobox_popup" bg_color="#071F4B" border_color="#00000000">
2. 列表項的樣式,style名稱為“default”。
"default" bg_color="#071F4B" font_size="24" icon_at="left" text_color="#FFFFFF">
最后可以在AWTK Designer中設(shè)置combo_box控件的theme_of_popup屬性并打包資源文件,另外也可以使用C代碼方式動態(tài)設(shè)置樣式:
combo_box_set_theme_of_popup(combo_box, "my_combo_box");
利用open_window屬性修改樣式
第二種方式是通過修改combo_box控件的open_window屬性修改下拉框樣式,該屬性接收一個popup窗體的名稱,用戶在popup實現(xiàn)自定義下拉框。若同時設(shè)置了options屬性與open_window屬性,會優(yōu)先打開open_window屬性的popup窗體。
圖3使用open_window屬性修改下拉框樣式
1. combo_box控件open_window屬性用法
在AWTK Designer創(chuàng)建一個popup類型窗體并進行布局,使用combo_box_item控件作為下拉框選項。
完成popup窗體布局后,可以在AWTK Designer中設(shè)置combo_box控件的open_window屬性,也可以使用C代碼方式動態(tài)設(shè)置樣式:
combo_box_set_open_window(combo_box, "combo_box_menu");
2. 獲取與設(shè)置combo_box當(dāng)前選擇項索引值
默認的combo_box控件可以通過控件對象的selected_index屬性直接讀取當(dāng)前選擇項的索引值,也可通過控件函數(shù)combo_box_set_selected_index設(shè)置當(dāng)前選擇項索引值。
需要注意的是設(shè)置open_window屬性后還要設(shè)置相同的options屬性才可以正常獲取與設(shè)置當(dāng)前選項索引值。例如在open_window打開的popup三個選項分別為“星期一”、“星期二”和“星期三”,則需要設(shè)置combo_box控件options屬性為“0:星期一;1:星期二;2:星期三”,這樣才能通過控件對象屬性和控件函數(shù)獲取與設(shè)置當(dāng)前選項的索引值。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
C語言
+關(guān)注
關(guān)注
180
文章
7630
瀏覽量
140829
-
示教器
+關(guān)注
關(guān)注
2
文章
30
瀏覽量
3942
-
awtk
+關(guān)注
關(guān)注
0
文章
50
瀏覽量
365
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
【AWTK使用經(jīng)驗】如何響應(yīng)物理按鍵
AWTK是基于C語言開發(fā)的跨平臺GUI框架。《AWTK使用經(jīng)驗》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計
【AWTK使用經(jīng)驗】如何添加中文輸入法
AWTK是基于C語言開發(fā)的跨平臺GUI框架?!?b class='flag-5'>AWTK使用經(jīng)驗》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計
鴻蒙系統(tǒng)如何設(shè)置自定義下拉刷新控件
Ohos-MaterialRefreshLayout 是一個自定義 Material 風(fēng)格下拉刷新控件,支持設(shè)置水波紋效果,支持下拉刷新侵入式和非侵入式,初始化自動刷新及上滑加載更多,支持刷新頭部
自定義下拉刷新控件
這是一個自定義下拉刷新控件,包含有趣的動畫。 概述 支持下拉刷新動畫效果 支持下拉刷新回調(diào)狀態(tài)返回 集成 方式一: 通過library生成har包,添加har包到libs文件夾內(nèi) 在e
發(fā)表于 03-22 09:30
?2次下載
OpenHarmony自定義組件ProgressWithText
組件介紹 本示例是OpenHarmony自定義組件ProgressWithText。 在原來進度條的上方加了一個文本框,動態(tài)顯示當(dāng)前進度并調(diào)整位置。 調(diào)用方法
發(fā)表于 03-23 14:03
?1次下載
自定義視圖組件教程案例
自定義組件 1.自定義組件-particles(粒子效果) 2.自定義組件- pulse(脈沖button效果) 3.自定義組件-progress(progress效果) 4.
發(fā)表于 04-08 10:48
?14次下載
自定義算子開發(fā)
一個完整的自定義算子應(yīng)用過程包括注冊算子、算子實現(xiàn)、含自定義算子模型轉(zhuǎn)換和運行含自定義op模型四個階段。在大多數(shù)情況下,您的模型應(yīng)該可以通過使用hb_mapper工具完成轉(zhuǎn)換并順利部署到地平線芯片上……
【AWTK使用經(jīng)驗】如何設(shè)計立體電池進度條?
AWTK是基于C語言開發(fā)的跨平臺GUI框架。《AWTK使用經(jīng)驗》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計
AWTK 開源串口屏開發(fā)(18) - 用 C 語言自定義命令
編寫代碼即可實現(xiàn)常見的應(yīng)用。但是,有時候我們需要自定義一些命令,以實現(xiàn)一些特殊的功能。本文檔介紹如何使用C語言自定義命令。1.實現(xiàn)hmi_model_cmd_t接口
think-cell;自定義think-cell(一)
本章介紹如何自定義 think-cell,即如何更改默認顏色和其他默認屬性;這是通過 think-cell 的樣式文件完成的,這些文件將在前四個部分中進行討論。 第五部分 C.5 設(shè)置默認議程幻燈片
評論