加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

【AWTK使用經(jīng)驗】如何自定義combo_box下拉框樣式

05/22 14:41
1248
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

AWTK是基于C語言開發(fā)的跨平臺GUI框架?!禔WTK使用經(jīng)驗》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計自定義進度條?這些都會在系列文章進行解答。

假設(shè)需要在 ZTP800示教器 實現(xiàn)一個用于日期選擇的下拉框,并且還要求對下拉框做一些美化,此時就需要用戶自定義下拉框樣式。下面將結(jié)合該需求介紹兩種修改combo_box下拉框樣式的方法。?

圖?1?修改樣式后得下拉框效果圖

利用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”。

<popup> ?<style name="combobox_popup" bg_color="#071F4B" border_color="#00000000"> ? ?<normal/> ? ?<disable/> ? ?<focused/> ?</style></popup>

2. 列表項的樣式,style名稱為“default”。

<combo_box_item> ?<style name="default" bg_color="#071F4B" font_size="24" icon_at="left" text_color="#FFFFFF"> ? ?<normal/> ? ?<disable/> ? ?<disable_of_checked/> ? ?<focused bg_color="#2E74B5"/> ? ?<focused_of_checked bg_color="#2E74B5"/> ? ?<normal_of_checked/> ? ?<over bg_color="#5B9BD6"/> ? ?<over_of_checked/> ? ?<pressed bg_color="#2E74B5"/> ? ?<pressed_of_checked/> ?</style></combo_box_item>

最后可以在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)前選擇項索引值

默認(rèn)的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)前選項的索引值。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
FM24CL64B-GTR 1 Cypress Semiconductor Memory Circuit, 8KX8, CMOS, PDSO8, SOIC-8
$3.16 查看
FODM8801CR2V 1 onsemi OptoHiT&trade; Series, High-Temperature Phototransistor, 2500-REEL

ECAD模型

下載ECAD模型
$2.13 查看
SST39VF3201C-70-4I-EKE 1 Microchip Technology Inc FLASH 2.7V PROM, PDSO48, 12 X 20 MM, ROHS COMPLIANT, MO-142DD, TSOP1-48
$3.14 查看
致遠(yuǎn)電子

致遠(yuǎn)電子

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

ZLG官方賬號,一個匯聚500名工程師的研發(fā)測試分享平臺,為您提供電子世界領(lǐng)先的產(chǎn)品技術(shù)與行業(yè)解決方案.