1、新建一个对话框工程,在对话框中添加一个list控件,ID:IDC_LIST1。打开MFC ClassWizard,点击Add Class按钮添加新类CListNew,Base class:CListCtrl,同时为list控件关联控件变量,变量名为:m_RecordList,变量类型为:CListNew。同时在CxxDlg.h文件中添加#include "ListNew.h"
2、在listNew.h构造函数中添加:public: SetBkImageNew(CString strImagePath);
                                                          CBitmap m_bmpBkImage;
                                                          BOOL m_bLoaded;
3、在ClassView视图下,选中CListNew,点击右键选择:Add Windows Message Handles for class CListNew,添加=LVN_ITEMCHANGED、WM_ERASEBKGND、WM_HSCROLL、WM_VSCROLL
4、在ListNew.cpp中添加OnEraseBkgnd、SetBkImageNew、OnHScroll、OnVScroll、OnItemchanged等实现函数
    BOOL CListNew::OnEraseBkgnd(CDC* pDC)
{
 // TODO: Add your message handler code here and/or call default
 if(m_bLoaded)
 {
  BITMAP bmp;
  m_bmpBkImage.GetBitmap(&bmp);
  CRect rcClient;
  GetWindowRect(&rcClient);
  ScreenToClient(&rcClient);
  //GetClientRect(&rcClient);
  CDC dcMem;
  dcMem.CreateCompatibleDC(pDC);
  dcMem.SelectObject(m_bmpBkImage);
  pDC->SetStretchBltMode(COLORONCOLOR);
  pDC->StretchBlt(rcClient.left,rcClient.top,rcClient.Width(),rcClient.Height(),&dcMem,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
 }
        return TRUE;
// return CListCtrl::OnEraseBkgnd(pDC);
}

BOOL CListNew::SetBkImageNew(CString strImagePath)
{
 HBITMAP hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),strImagePath.GetBuffer(0),IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
 m_bmpBkImage.Attach(hBitmap);
 m_bLoaded=TRUE;
 Invalidate();
 return 0;
}

void CListNew::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
 // TODO: Add your message handler code here and/or call default
 Invalidate();
 CListCtrl::OnHScroll(nSBCode, nPos, pScrollBar);
}

void CListNew::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
 // TODO: Add your message handler code here and/or call default
 Invalidate();
 CListCtrl::OnVScroll(nSBCode, nPos, pScrollBar);
}

void CListNew::OnItemchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
 // TODO: Add your control notification handler code here
 POSITION pos=GetFirstSelectedItemPosition();
 if(pos==NULL)
  Invalidate();
 *pResult = 0;
}
5、将需要添加为背景图片的BMP位图放在当前工程目录文件夹下,(此处我把BMP位图放在res文件夹下,位图名称为:t0.bmp)
6、在CxxDlg类中的OnInitDialog函数里添加:
    char pBuf[256];                                 //存放路径的变量      
    GetCurrentDirectory(256,pBuf);                   //获取程序的当前目录
    strcat(pBuf,"//res//t0.bmp");
 m_RecordList.SetBkImageNew(pBuf);
 m_RecordList.SetBkColor(CLR_NONE);
 m_RecordList.SetTextBkColor(CLR_NONE); //设置背景透明

Setting the Background Image for a List Control相关推荐

  1. extend the gridview control

    Category:  ASP.Net 2.0  在asp.net 3.5下需要做一些小的修改 When I have helped people with extending the GridView ...

  2. android 控制中心os,Phone X Launcher, OS 11 iLauncher Control Center

    Phone X Launcher, OS 11 iLauncher & Control Center 介绍 Phone X Launcher, OS 11 iLauncher & Co ...

  3. xamarin.android 控件,Android 库控件 - Xamarin | Microsoft Docs

    Xamarin Android 库控件Xamarin.Android Gallery control 03/15/2018 本文内容 Gallery是一种布局小组件,用于显示水平滚动列表中的项,并将当 ...

  4. ALV Styles in Field catalogue using OOPS

    转自http://www.saptechnical.com/Tutorials/ALV/Styles/demo.htm By Swarna S, Tata Consultancy Services * ...

  5. html代码范例_最佳HTML范例和HTML5范例

    html代码范例 HTML provides the structure of websites. Here are some examples of how to use HTML syntax t ...

  6. 更改重做日志(redolog)文件的大小

    更改重做日志(redolog)文件的大小 从原来每个100M更改成1M SQL> show user; USER is "SYS" SQL> select group# ...

  7. UITableView上的iOS UIRefreshControl

    In this tutorial, we'll be implementing UIRefreshControl on the UITableView in our iOS Application. ...

  8. Customizing Navigation Bar and Status Bar in iOS 7

    RZMars个人Blog地址: http://www.rzmars.com (转载于simon ng的教程) Like many of you, I have been very busy upgra ...

  9. Java多线程系列--【JUC线程池 02】- 线程池原理(一)

    参考:http://www.cnblogs.com/skywang12345/p/java_threads_category.html 概要 在前面一章"Java多线程系列--"J ...

最新文章

  1. 遥感计算机分类的基本原理,遥感数字图像的计算机分类
  2. 在windows xp下,一块网卡绑定多个ip
  3. 大数据_Hbase-shell命令_操作hbase_完成对表的增删改查---Hbase工作笔记0005
  4. SQL Server 时间戳与时间格式互相转换
  5. dev gridcontrol 单选框效果
  6. P问题、NP问题、NPC问题
  7. Edge浏览器被篡改主页
  8. lzg_ad:EWF原理详解
  9. 2022氯化工艺考试题库及答案
  10. 用凯撒密码对喜欢的人表白
  11. GDKOI2014「壕壕的寒假作业」
  12. 判断一个整数是否为回文数
  13. 为什么还有人用java_java14都有了,为什么还有人用java8?
  14. amd显卡用黑苹果输出黑屏_黑苹果用杂交法修改framebuffer开启显卡所有输出端口成功...
  15. PHP实现图片上添加文字(证书生成)
  16. 浙大大龄毕业生的曲折人生路
  17. 万字 Java 知识地图助你成为 Offer 收割机
  18. 实现微信下载APP的思路
  19. 数据加密技术知识点大盘点
  20. python求一组数中最大数_python如何求一组数的最大值?_后端开发

热门文章

  1. C++ Gui Qt4 书籍代码在VS2008上正确编译使用
  2. 带动态属性的自定义标签
  3. am335x backlight
  4. JavaScript:Array属性方法
  5. nullnullc++ 精简版 fps限制
  6. 【ZOJ3899】State Reversing 解题报告
  7. 【快速入眠】高效睡眠 - 把失眠踩在脚下
  8. UGUI 屏幕适配 导致 BoxCollider无效 解决记录
  9. TP框架多上传域上传图片
  10. AX2009 的EP开发要点