先看效果图:

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. pyinstall install

    安装 pyinstall 下载地址 http://www.pyinstaller.org/downloads.html 找到支持本机python版本的pyinstall下载解压即可 pyinstall ...

  2. Handle/Looper源码分析;

    1. Handle中的属性: final Looper mLooper; final MessageQueue mQueue; final Callback mCallback; final bool ...

  3. frist Django app — 四、 完善View

    上一篇已经完成了polls的基本功能,接下来完善剩下的vote功能和并使用generic views改进请求处理view.包含表单的简单运用和前后台参数传递. 目录 vote:完善投票功能 gener ...

  4. C# 构造函数中base和this的使用。

    使用base时,首先给父类中的构造函数赋值. 使用this时,先调用父类无参构造函数,再调用自身其他构造函数并对其赋值,最后调用自身当前构造函数.

  5. ----Androd 系统开机显示白条提示 “there is internal problem with your device, Contact your manufacture ... ”

    ref: https://www.theandroidsoul.com/how-to-fix-theres-an-internal-problem-with-your-device-error-on- ...

  6. arcgis point 随着 line类型的轨迹运动的动画

    animate : function(frampoint,topoint,speed = 60){ var path = topoint.geometry.paths[0]; var i = 1; v ...

  7. Nginx配置跨域支持功能

    跨域是前端开发中经常会遇到的问题,前端调用后台服务时,通常会遇到 No 'Access-Control-Allow-Origin' header is present on the requested ...

  8. Haskell语言学习笔记(93)Data.Text

    Data.Text.Read Prelude> :set -XOverloadedStrings Prelude> :m +Data.Text.Read Prelude Data.Text ...

  9. jquery中添加元素append,prepend,before和after方法的区别

    append:在元素内部的最后面添加元素,作为子元素. prepend:在元素内部的最前面添加元素,作为子元素. before:在元素的前边,作为兄弟元素添加. after:在元素的后边,作为兄弟元素 ...

  10. mybatis sql in not in的使用

    xml配置 <select id="SelectAllByNotsampleNo" resultMap="BaseResultMap" parameter ...