炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1369|回复: 2

【已解决】如何获取 ComboBox 模板中的元素句柄?

[复制链接]

该用户从未签到

发表于 2015-10-23 14:03:57 | 显示全部楼层 |阅读模式
本帖最后由 tmplinshi 于 2015-10-23 19:59 编辑

如何能获取模板中基础元素的句柄?因为我想获取句柄后设置背景颜色。
2015-10-23_135513.png

ListBox 模板中有两个元素,一个基础元素,一个文本元素:
2015-10-23_135830.png

  1. xcgui.XInitXCGUI()

  2. XC_BUTTON_TYPE_CLOSE := 3

  3. m_hWindow := xcgui.XWnd_Create(0, 0, 300, 200, "炫彩界面库窗口")
  4. xcgui.XBtn_SetType( xcgui.XBtn_Create(5, 3, 60, 20, "close", m_hWindow), XC_BUTTON_TYPE_CLOSE )

  5. hComboBox := xcgui.XComboBox_Create(20, 40, 120, 20, m_hWindow)
  6. xcgui.XComboBox_SetItemTemplateXML(hComboBox, "ComboBox-test.xml")
  7. xcgui.XRichEdit_SetText(hComboBox, "蓝色")

  8. hAdapter := xcgui.XAdapterTable_Create()
  9. xcgui.XComboBox_BindApapter(hComboBox, hAdapter)
  10. xcgui.XAdapterTable_AddColumn(hAdapter, "name")
  11. For _color, _text in {0x1010F9: "红色", 0xFC051E: "蓝色", 0x05DEF9: "黄色"}
  12. {
  13.         ; hele := xcgui.XListBox_GetTemplateObject(hComboBox, A_Index-1, 10)
  14.         ; xcgui.XEle_AddBkFill(hEle, _color)
  15.         xcgui.XAdapterTable_AddItemText(hAdapter, _text)
  16. }

  17. xcgui.XWnd_ShowWindow(m_hWindow)

  18. xcgui.XRunXCGUI()
  19. xcgui.XExitXCGUI()
  20. Return
复制代码


  • TA的每日心情
    开心
    2021-5-26 23:50
  • 发表于 2015-10-23 18:40:15 | 显示全部楼层
    XE_COMBOBOX_POPUP_LIST  下个版本新增事件, 弹出事件.

    该用户从未签到

     楼主| 发表于 2015-10-23 19:58:57 | 显示全部楼层
    本帖最后由 tmplinshi 于 2015-10-24 00:20 编辑

    感谢!
    1. ; 炫彩版本: 1.8.9.1

    2. XC_BUTTON_TYPE_CLOSE := 3
    3. m_hWindow := xcgui.XWnd_Create(0, 0, 300, 200, "炫彩界面库窗口")
    4. xcgui.XBtn_SetType( xcgui.XBtn_Create(5, 3, 60, 20, "close", m_hWindow), XC_BUTTON_TYPE_CLOSE )

    5. hComboBox := xcgui.XComboBox_Create(20, 40, 120, 20, m_hWindow)
    6. xcgui.XComboBox_EnableEdit(hComboBox, False)
    7. xcgui.XComboBox_SetItemTemplateXML(hComboBox, "ComboBox-test.xml")
    8. xcgui.XRichEdit_SetText(hComboBox, "蓝色")

    9. hAdapter := xcgui.XAdapterTable_Create()
    10. xcgui.XComboBox_BindApapter(hComboBox, hAdapter)
    11. xcgui.XAdapterTable_AddColumn(hAdapter, "name")
    12. For idx, _text in ["红色", "蓝色", "黄色"]
    13.         xcgui.XAdapterTable_AddItemText(hAdapter, _text)

    14. xcgui.XEle_RegEventC1(hComboBox, XE_COMBOBOX_POPUP_LIST:=72, "cb.OnComboBoxPopupList")

    15. xcgui.XWnd_ShowWindow(m_hWindow)

    16. xcgui.XRunXCGUI()
    17. xcgui.XExitXCGUI()
    18. Return

    19. class cb {
    20.         OnComboBoxPopupList(hWindow, hListBox) {
    21.                 xcgui.XEle_RegEventC2(hListBox, XE_LISTBOX_TEMP_CREATE_END:=82, "cb.OnListBoxTemplateCreateEnd")
    22.         }

    23.         OnListBoxTemplateCreateEnd(hListBox, pItem) {
    24.                 static colors := [0x1010F9, 0xFC051E, 0x05DEF9]
    25.                 iItem := NumGet(pItem+0, 16, "Int")
    26.                 hEle := xcgui.XListBox_GetTemplateObject(hListBox, iItem, 10)
    27.                 xcgui.XEle_AddBkFill(hEle, colors[iItem+1])
    28.         }
    29. }
    复制代码
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    QQ|Archiver|手机版|小黑屋|广州炫软软件科技有限公司 ( 粤ICP备15089345号 )

    GMT+8, 2021-7-31 02:08 , Processed in 0.076649 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表