炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7935|回复: 8

[提问] 列表中如何设置每个单元格的颜色

[复制链接]

该用户从未签到

发表于 2017-4-6 18:38:49 | 显示全部楼层 |阅读模式
1炫彩币
本帖最后由 逐梦心尘 于 2017-4-6 18:50 编辑

Table列表如何设置单元格颜色:

比如下图:将内容为13543的单元格设置为红色,应该怎么操作
QQ图片20170406183622.png

该用户从未签到

发表于 2017-4-6 18:47:07 | 显示全部楼层
是listbox 还是 list控件?
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-4-6 18:47:52 | 显示全部楼层
再比如这样的:
QQ图片20170406184727.png
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-4-6 18:49:09 | 显示全部楼层
适配器Table
回复

使用道具 举报

该用户从未签到

发表于 2017-4-6 18:52:52 | 显示全部楼层
  1. #include "Common.h"

  2. class CMyWindowList
  3. {
  4. public:
  5. HWINDOW m_hWindow;
  6. HELE m_hList;
  7. CMyWindowList()
  8. {
  9. srand(GetTickCount());
  10. Init();
  11. }
  12. void Init()
  13. {
  14. m_hWindow = XWnd_Create(0, 0, 550, 380, L"炫彩界面库窗口",NULL, xc_window_style_default);
  15. XBtn_SetType(XBtn_Create(5, 3, 60, 20, L"Close", m_hWindow),button_type_close);

  16. m_hList= XList_Create(20,40,500,300,m_hWindow);
  17. XList_SetItemTemplateXML(m_hList,L"List_Item.xml");
  18. XSView_SetLineSize(m_hList,20,20);

  19. XEle_RegEventCPP(m_hList,XE_LIST_DRAWITEM,&CMyWindowList::OnListDrawItem);


  20. XList_AddColumn(m_hList,100);
  21. XList_AddColumn(m_hList,100);
  22. XList_AddColumn(m_hList,100);

  23. HXCGUI hAdapterHeader=XAdMap_Create();
  24. XList_BindAdapterHeader(m_hList,hAdapterHeader);
  25. XAdMap_AddItemText(hAdapterHeader,L"name",L"aaa");
  26. XAdMap_AddItemText(hAdapterHeader,L"name2",L"bbb");
  27. XAdMap_AddItemText(hAdapterHeader,L"name3",L"ccc");
  28. XAdMap_AddItemText(hAdapterHeader,L"name4",L"test");

  29. HXCGUI hAdapter=XAdTable_Create();
  30. XList_BindAdapter(m_hList,hAdapter);
  31. XAdTable_AddColumn(hAdapter,L"name");
  32. XAdTable_AddColumn(hAdapter,L"name2");
  33. XAdTable_AddColumn(hAdapter,L"name3");

  34. XList_SetColumnWidth(m_hList,0,150);
  35. XList_SetColumnWidth(m_hList,1,150);
  36. XList_SetColumnWidth(m_hList,2,150);

  37. wchar_t tmp[MAX_PATH]={0};
  38. for (int i=0;i<20;i++)
  39. {
  40. wsprintfW(tmp,L"item-%d",i);
  41. XAdTable_AddItemText(hAdapter,tmp);

  42. wsprintfW(tmp,L"child-%d-1",i); XAdTable_SetItemText(hAdapter,i,1,tmp);
  43. wsprintfW(tmp,L"child-%d-2",i); XAdTable_SetItemText(hAdapter,i,2,tmp);
  44. }

  45. XWnd_ShowWindow(m_hWindow,SW_SHOW);
  46. }
  47. int OnListDrawItem(HDRAW hDraw,list_item_i* pItem,BOOL *pbHandled)
  48. {


  49. switch (pItem->iSubItem)
  50. {
  51. case 0:
  52. XDraw_SetBrushColor(hDraw,rand());
  53. break;
  54. case 1:
  55. XDraw_SetBrushColor(hDraw,rand());
  56. break;
  57. case 2:
  58. XDraw_SetBrushColor(hDraw,rand());
  59. break;
  60. }

  61. // if (pItem->index%2 == 0)
  62. // {
  63. // switch (pItem->nState)
  64. // {
  65. // case list_item_state_leave:
  66. // XDraw_SetBrushColor(hDraw,RGB(128,0,0));
  67. // break;
  68. // case list_item_state_stay:
  69. // XDraw_SetBrushColor(hDraw,RGB(0,128,0));
  70. // break;
  71. // case list_item_state_select:
  72. // XDraw_SetBrushColor(hDraw,RGB(0,0,128));
  73. // break;
  74. // }
  75. // }
  76. // else
  77. // {
  78. // switch (pItem->nState)
  79. // {
  80. // case list_item_state_leave:
  81. // XDraw_SetBrushColor(hDraw,RGB(128,128,0));
  82. // break;
  83. // case list_item_state_stay:
  84. // XDraw_SetBrushColor(hDraw,RGB(0,128,128));
  85. // break;
  86. // case list_item_state_select:
  87. // XDraw_SetBrushColor(hDraw,RGB(128,0,128));
  88. // break;
  89. // }
  90. // }

  91. XDraw_FillRect(hDraw,&pItem->rcItem);
  92. *pbHandled = TRUE;


  93. return 0;
  94. }
  95. };

  96. int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
  97. {
  98. XInitXCGUI();
  99. CMyWindowList MyWindow;
  100. XRunXCGUI();
  101. XExitXCGUI();
  102. return 0;
  103. }
复制代码

把上面代码复制到一个工程里面测试即可看到效果
回复

使用道具 举报

该用户从未签到

发表于 2017-4-6 18:55:50 | 显示全部楼层
哦,忘记说了,还有个问题,XAdapterTable XAdapter这种知识一个数据适配器,你可以理解成一个数据库,里面只存放数据,界面用到什么数据就会从里面查找。。。
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-4-6 19:20:03 | 显示全部楼层
这是易语言区啊,你整个C++
回复

使用道具 举报

该用户从未签到

发表于 2017-4-6 20:05:38 | 显示全部楼层
忘记了,,没注意,这里给你发了附件了

链接:http://pan.baidu.com/s/1cmwzNK 密码:skvo

用易语言重新给你写了一个例子
回复

使用道具 举报

该用户从未签到

发表于 2017-4-7 15:29:52 | 显示全部楼层
易语言版块呢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 13:35 , Processed in 0.068926 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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