炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: pediyzhi

List控件 怎么改变其中一个值的字体颜色

[复制链接]

该用户从未签到

发表于 2016-2-15 22:30:56 | 显示全部楼层
pediyzhi 发表于 2016-2-15 22:28
动态创建也适用吗?

动态创建应该也会触发 项模板创建完成事件,  所以 应该可以
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2016-2-16 17:23:53 | 显示全部楼层
花舞灬花丶落泪 发表于 2016-2-15 22:30
动态创建应该也会触发 项模板创建完成事件,  所以 应该可以

试了一下.不行啊....我用你那个布局文件就行, 自己用动态生成的就不可以,, 我把代码贴上来你帮我看看好吗?
就是帮助中的代码
  1. class CMyWindowList
  2. {
  3. public:
  4.         HWINDOW m_hWindow;
  5.         HELE    m_hList;
  6.         CMyWindowList()
  7.         {
  8.                 Init();
  9.         }

  10.         void Init()
  11.         {
  12.                 m_hWindow = XWnd_Create(0, 0, 550, 380, L"炫彩界面库窗口", NULL, xc_window_style_default);
  13.                 XBtn_SetType(XBtn_Create(5, 3, 60, 20, L"Close", m_hWindow), button_type_close);

  14.                 m_hList = XList_Create(20, 40, 500, 300, m_hWindow);
  15.                 XList_SetItemTemplateXML(m_hList, L"XML-template\\List_Item.xml");
  16.                 XSView_SetLineSize(m_hList, 20, 20);

  17.                 XList_AddColumn(m_hList, 100);
  18.                 XList_AddColumn(m_hList, 100);
  19.                 XList_AddColumn(m_hList, 100);

  20.                 HXCGUI hAdapterHeader = XAdapterMap_Create();
  21.                 XList_BindAdapterHeader(m_hList, hAdapterHeader);
  22.                 XAdapterMap_AddItemText(hAdapterHeader, (XC_NAME), L"aaa");
  23.                 XAdapterMap_AddItemText(hAdapterHeader, (XC_NAME2), L"bbb");
  24.                 XAdapterMap_AddItemText(hAdapterHeader, (XC_NAME3), L"ccc");
  25.                 XAdapterMap_AddItemText(hAdapterHeader, (XC_NAME4), L"test");

  26.                 HXCGUI hAdapter = XAdapterTable_Create();
  27.                 XList_BindAdapter(m_hList, hAdapter);
  28.                 XAdapterTable_AddColumn(hAdapter, (XC_NAME));
  29.                 XAdapterTable_AddColumn(hAdapter, (XC_NAME2));
  30.                 XAdapterTable_AddColumn(hAdapter, (XC_NAME3));

  31.                 XList_SetColumnWidth(m_hList, 0, 150);
  32.                 XList_SetColumnWidth(m_hList, 1, 150);
  33.                 XList_SetColumnWidth(m_hList, 2, 150);

  34.                 XEle_RegEventCPP(m_hList, XE_LIST_TEMP_CREATE_END, &CMyWindowList::OnListTemplateCreateEnd);

  35.                 wchar_t tmp[MAX_PATH] = { 0 };
  36.                 for (int i = 0; i < 20; i++) {
  37.                         wsprintf(tmp, L"item-%d", i);
  38.                         XAdapterTable_AddItemText(hAdapter, tmp);

  39.                         wsprintf(tmp, L"child-%d-1", i);  XAdapterTable_SetItemText(hAdapter, i, 1, tmp);
  40.                         wsprintf(tmp, L"child-%d-2", i);  XAdapterTable_SetItemText(hAdapter, i, 2, tmp);
  41.                 }

  42.                 XWnd_ShowWindow(m_hWindow, SW_SHOW);
  43.         }


  44.         int OnListTemplateCreateEnd(list_item_i *pItem, BOOL *pbHandled)
  45.         {
  46.                 list_item_i item;
  47.                 memcpy(&item, pItem, sizeof(list_item_i));

  48.                 COLORREF color;
  49.                 color = item.index % 2 ? RGB(0, 0, 0xff) : RGB(0xff, 0, 0);

  50.                 XShapeText_SetTextColor(XList_GetTemplateObject(m_hList, item.index, 0), color, 0xff); //这里不知道该如何是好

  51.                 return 0;
  52.         }

  53. };
复制代码
回复

使用道具 举报

该用户从未签到

发表于 2016-2-16 18:10:07 | 显示全部楼层
pediyzhi 发表于 2016-2-16 17:23
试了一下.不行啊....我用你那个布局文件就行, 自己用动态生成的就不可以,, 我把代码贴上来你帮我看看好吗 ...

这应该是你动态生成的没有ItemID。目前这个功能貌似只能通过设计器设计模板来完成
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-9-20 00:37 , Processed in 0.067014 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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