找回密码
 加入
搜索
查看: 3806|回复: 14

[交流] 炫彩界面库AU3教程10,List列表保存字体颜色

  [复制链接]
发表于 2016-4-20 20:37:28 | 显示全部楼层 |阅读模式
主要使用如下两个函数
XList_SetItemData  设置项用户数据
XList_GetItemData  获取项用户数据
设置文本颜色时将颜色信息写入项用户数据中,绘制项目时读出并设置相关文本颜色
大家可以举一反三,合理利用这两个函数

请看完整代码:
#region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseX64=n
#endregion ;**** 参数创建于 ACNWrapper_GUI ****
#include "XCGUI_Fun.au3"
XInitXCGUI()
$create = XWnd_Create("500", "500", "500", "500", "窗口测试", 47)
$XList = XList_Create("20", "40", "440", "400", $create)
XList_SetItemHeightDefault($XList, 35, 40) ;设置项未选中高度,选中高度
$ggg = XList_SetItemTemplateXML($XList, @ScriptDir & "\List_Item.xml") ;加载列表模板
XList_AddColumn($XList, 100) ;设置列宽度
XList_AddColumn($XList, 100)
XList_AddColumn($XList, 100)
$XAm = XAdapterMap_Create()
XList_BindAdapterHeader($XList, $XAm)
$XA = XAdapterTable_Create()
XList_BindAdapter($XList, $XA)
XAdapterTable_AddColumn($XA, "name")
XAdapterTable_AddColumn($XA, "name2")
XAdapterTable_AddColumn($XA, "name3")
For $i = 0 To 20
        XAdapterTable_AddItemTextEx($XA, "name", "ListBox")
        XAdapterTable_SetItemText($XA, $i, 1, "ListBox-" & $i & "-1")
        XAdapterTable_SetItemText($XA, $i, 2, "ListBox-" & $i & "-2")
Next
XEle_RegEventC1($XList, "_OnListTemplateCreateEnd", $XE_LIST_TEMP_CREATE_END, "int;int") ;注册列表事件
$btn2 = XBtn_Create("400", "460", "75", "25", "退出程序", $create)
$btn3 = XBtn_Create("300", "460", "75", "25", "修改颜色", $create)
XEle_RegEventC($btn2, "btn2")
XEle_RegEventC($btn3, "btn3")
XWnd_ShowWindow($create)

XRunXCGUI()

Func _OnListTemplateCreateEnd($hEle, $pItem)
        $a = _list_item_i() ;获得 list_item_i 数据结构
        CopyMemory($a, $pItem)
        $text = XList_GetTemplateObject($XList, DllStructGetData($a, 1), 0) ;获取句柄
        $pd = XC_IsHXCGUI($text, $XC_SHAPE_TEXT) ;判断获取的句柄是否为文本
        If $pd = True Then
                $fsts = XList_GetItemData($XList, DllStructGetData($a, 1), 0) ;获取项用户数据
                XShapeText_SetTextColor($text, $fsts, 255) ;设置文本颜色
        EndIf
EndFunc   ;==>_OnListTemplateCreateEnd
Func btn3($bh)
        For $i = 0 To 3
                XShapeText_SetTextColor(XList_GetTemplateObject($XList, $i, 0), 0xFF00FF, 255) ;设置文本颜色
                XList_SetItemData($XList, $i, 0, 0xFF00FF) ;设置项用户数据
        Next
        XEle_RedrawEle($XList, 1)
EndFunc   ;==>btn3
Func btn2($bh)
        xquit_acn($create)
EndFunc   ;==>btn2
发表于 2016-4-20 21:11:43 | 显示全部楼层
版主为了大家用上特别的界面真是呕心沥血啊
 楼主| 发表于 2016-4-20 21:58:56 | 显示全部楼层
回复 2# afan


    呵呵,这也是我学习的过程,既然身为版主,总该做点什么
发表于 2016-4-21 06:57:12 | 显示全部楼层
学习了。。。。。。。。。。。。
发表于 2016-4-21 08:42:56 | 显示全部楼层
回复 1# guland

如果要全页都改变字体颜色,某列整列改变字体颜色,某列某行改变字体颜色?
发表于 2016-4-21 08:56:31 | 显示全部楼层
回复 5# chzj589
这样可改变第一列

For $i = 0 To 20
        XList_SetItemData($XList, $i, 0, 0xFF0000)
Next
 楼主| 发表于 2016-4-22 08:27:17 | 显示全部楼层
回复 6# chzj589


    它只能修改显示出来那部分的颜色。。。。所以无法修改全部项的字体颜色,
 楼主| 发表于 2016-4-22 08:28:33 | 显示全部楼层
回复 5# chzj589


    建议修改项目背景颜色
发表于 2016-5-6 13:12:13 | 显示全部楼层
List_Item.xml 这个文件没有提供啊
发表于 2016-5-6 13:13:36 | 显示全部楼层
 error: XEle_RegEventC1() 调用参数的数量错误.
XEle_RegEventC1($XList, "_OnListTemplateCreateEnd", $XE_LIST_TEMP_CREATE_END, "int;int")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"Z:\workitems\GUI 皮肤\XCGUI_Fun.au3"(1320,47) : 引用: 定义为 XEle_RegEventC1().
Func XEle_RegEventC1($_hEle, $_nEvent, $_pFun)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"Z:\workitems\GUI 皮肤\炫彩界面库AU3教程10,List列表保存字体颜色.au3"(82,27) : error: _list_item_i(): 未定义的函数.
        $a = _list_item_i()
~~~~~~~~~~~~~~~~~~~~~~~~~~^
"Z:\workitems\GUI 皮肤\炫彩界面库AU3教程10,List列表保存字体颜色.au3"(83,30) : error: CopyMemory(): 未定义的函数.
        CopyMemory($a, $pItem)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
 楼主| 发表于 2016-5-7 19:56:09 | 显示全部楼层
回复 10# xz00311


    去下载炫彩助手
发表于 2016-6-19 10:27:09 | 显示全部楼层
本帖最后由 guland 于 2016-6-25 12:48 编辑

好贴就是好贴
发表于 2016-6-19 16:35:10 | 显示全部楼层
回复 11# guland
如果第二列,第三列呢?
发表于 2022-10-25 22:58:24 来自手机 | 显示全部楼层
回头我研究一下
发表于 2024-2-4 10:58:42 | 显示全部楼层
6666666666666666666666666666
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 00:32 , Processed in 0.104064 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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