先看效果图:

xml代码:

作者qq:80101277,dskinlite交流qq群:138231653

<window name="listbox1" type="listbox">
<property bkcolor="#system_bg" bordercolor="RGB(0,255,0)" scrollbar="scrollbar" headerctrl="headerctrl" />
<rect id="border" index="1" bordercolor="#system.border" borderwidth="1" style="hole" />
<rect id="border" index="2" bordercolor="RGB(255,255,255)" left="1" top="1" right="-1" bottom="-1" borderwidth="1" style="hole" /> <rect id="item" bordercolor="RGB(221,234,242)" fillcolor="RGB(232,247,254)" left="1" bottom ="-1" state="over"/>
<image id="item" picfile="#listbox.select" left="3" right="-15" paintmode="stretchparthorz" left_part="3" right_part="3" state="checked"/>
<rect id="listitem.odd" bordercolor="RGB(255,255,255)" fillcolor="RGB(251,251,255)" state="all"/>
<rect id="listitem.even" bordercolor="RGB(255,255,255)" fillcolor="RGB(243,248,251)" state="all"/> <listboxinfo bDrawOver="true" itemheight="35" >
<drawitem id="default" >
<image state="all" id="image.default" picfile="#face.default" left="5" top="2" width="20" height="20"/>
<text id="text.default" content="" left="30" top="4" state="normal" textcolor="RGB(0,0,0)" font="#default"/>
<text id="text.default" content="" left="30" top="4" state="over" textcolor="RGB(255,0,0)" font="#default"/>
<text id="text.default" content="" left="30" top="4" state="checked" textcolor="RGB(255,0,0)" font="#default"/> <eventitem id="close" event="LButtonDown" cursor="handcur" state="over|checked" left="-20" top="5" width="15" height="15" visible="true">
<image state="normal" picfile="#extend.listbox.closebtn.nor" />
<image state="over" picfile="#extend.listbox.closebtn.over" />
</eventitem>
</drawitem>
</listboxinfo>
</window>
BOOL CXXDlg::OnInitDialog() 加入如下代码:

    dsSkinWindow(GetSafeHwnd(), SKIN_TYPE_DIALOG, NULL, TRUE);
dsSkinWindow(m_listbox1.GetSafeHwnd(), SKIN_TYPE_LISTBOX, L"listbox1", FALSE);
m_listbox1.SetItemHeight(, ); for (int i = ; i < ; i++) {
CString title;
title.Format(L"%x---%x---%x", i, i, i);
m_listbox1.InsertString(i, _T(""));
m_listbox2.InsertString(i, title); CString img = GetFaceImageByIndex(i % );
dsSetDrawItemValueEx(m_listbox1.GetSafeHwnd(), i, , _T("image.default"), img, FALSE);
dsSetDrawItemValueEx(m_listbox1.GetSafeHwnd(), i, , _T("text.default"), title, FALSE);
}

dskinlite(uieasy mfc界面库)使用记录4:listbox测试的更多相关文章

  1. dskinlite(uieasy mfc界面库)使用记录1: schema验证xml

    市场上的MFC第三方库很多,最终选定dskinlite企业版,成熟度比较高,当然价格也略贵. 在2017年仍然使用MFC是有些另类,但特定场景很适用,也适合不愿转型的老程序员. 目前处于学习阶段,欢迎 ...

  2. dskinlite(uieasy mfc界面库)使用记录4:绘制动态元素(listbox)

    效果图: XML代码: 299行的headerctrl只针对listview有效,这里是listbox,忽略 wirelessName,wirelessStatus,wirelessSignal会通过 ...

  3. dskinlite(uieasy mfc界面库)使用记录3:绘制动态元素(按钮控件通过隐藏方式修改图片显示)

    效果图: 分别是:正常,正常鼠标悬停,按下,按下鼠标悬停 XML代码: 75,76行定义了一个image,注意id和index属性 初始化代码: click代码: 147,148,153,154:通过 ...

  4. dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)

    效果图:这4个分别是按钮按下后4种状态的效果 第88行是显示默认的按钮文字,没有id,SetWindowText改的就是它了 第87行是左边的图片,id是ico,可以通过程序控制 第89行是蓝色的文字 ...

  5. BCGcontrolBar(一) MFC界面库简介

    原帖地址:http://blog.csdn.net/zw514159799/article/details/9148385 英文原文:http://www.bcgsoft.com/bcgcontrol ...

  6. MFC界面库BCGControlBar v30.1新功能详解:Dialogs和Forms

    亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v30.1正式发布!此版本包含themed find ...

  7. MFC界面库BCGControlBar v30.1——Grid/Report控件

    亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v30.1正式发布!此版本包含themed find ...

  8. VC UI界面库大集合

    Guitoolkit http://www.beyondata.com/pwc.html The Ultimate Toolbox http://www.codeproject.com/KB/MFC/ ...

  9. 常见MFC UI界面库[转]

    Xtrme toolkit,BCGControlBar,SkinMagic,AppFace,Skin++,Uskin++,SYGUI,LibUIDK,GuiToolkit,GardenUI等等,除了后 ...

随机推荐

  1. Python常用高级函数

    一 .匿名函数 有些时候,我们不需要显式的定义函数,可以使用匿名函数临时快速定义函数. lambda x: x * x 关键字lambda表示匿名函数,冒号前面的x表示函数的参数,多个参数用','隔开 ...

  2. Android 开发 values目录里定义数组、颜色、文本、尺寸xml配置文件并且获取数据 附录Android符号转码表

    以下xml都在res/values/文件夹下创建 创建String类型array: /app/src/main/res/values/array.xml <?xml version=" ...

  3. 【HDFS API编程】jUnit封装-改写创建文件夹

    首先:什么是jUnit  回顾: https://www.cnblogs.com/Liuyt-61/p/10374732.html 上一节我们知道: /** * 使用Java API操作HDFS文件系 ...

  4. 灰熊:在这6个信息流和DSP平台投放后,我总结了这些血泪经验!

    笔者有幸参与公司的一款重度游戏的推广,推广以来市面上主流的信息流和DSP 平台都投过一番,今天就零零碎碎地讲讲各个平台的特点以及用户质量. 需要提前说明的是,文章的观点仅限于各个平台的 iOS 流量, ...

  5. apue第九章之孤儿进程组

    1. 为什么会有孤儿进程组的概念,APUE没直接写,但是GNU有规定: 孤儿进程组不可以获得终端,这是为了保证控制进程死掉后他的终端可以安全分配给新session.posix要求向新孤儿进程组中停止状 ...

  6. supergridcontrol记录

    单元格换行: this.gridColumn2.CellStyles.Default.Alignment = DevComponents.DotNetBar.SuperGrid.Style.Align ...

  7. Slf4j与log4j及log4j2的关系及使用方法

    Slf4j与log4j及log4j2的关系及使用方法 slf4j slf4j仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已,所以单独 ...

  8. Selenium分布式自动化测试平台 Standalone Server 4.0 搭建

    最新的selenium测试平台大概有这么几个组件 Selenium Standalone Server: 用来搭建远程测试平台以及分布式测试. Selenium WebDriver: 最基础的用来创建 ...

  9. linux下打压缩解压

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...

  10. MySQL InnoDB 事务实现过程相关内容的概述

    MySQL事务的实现涉及到redo和undo以及purge,redo是保证事务的原子性和持久性:undo是保证事务的一致性(一致性读和多版本并发控制):purge清理undo表空间背景知识,对于Inn ...