本文的代码也是根据网上现有的改编而来 首先是.h #pragma once #include "HeaderCtrlCl.h" // CListCtrlCl class CListCtrlCl : public CListCtrl...int nCol; int nFontWidth; int nFontHeight; }; // CListCtrlCl IMPLEMENT_DYNAMIC(CListCtrlCl, CListCtrl...(0) { m_color = RGB(0,0,0); } CListCtrlCl::~CListCtrlCl() { } BEGIN_MESSAGE_MAP(CListCtrlCl, CListCtrl...CListCtrlCl::PreSubclassWindow() { // TODO: 在此添加专用代码和/或调用基类 ModifyStyle(0,LVS_OWNERDRAWFIXED); CListCtrl...Gradient - 渐变系数,立体背景用,不用渐变设为0 void CListCtrlCl::SetHeaderBKColor(int R, int G, int B, int Gradient) //设置表头背景色
项目中有这种需求,google了下发现了解决方案,摘录如下方便大家排查. 原文链接
这段时间通过使用MFC做车牌识别系统和媒体播放器,重新温习了一下MFC,特别是控件的使用,同时也学习了ADO技术、Socket网络编程、文件传输、OpenCV、多线程、数字图像处理、Windows...废话不多说了,进入主题吧,今天把我学习到的MFC控件做一个小结吧,希望能给其他的人以帮助吧。 ...我在使用MFC做媒体播放器时,在涉及到ADO数据库查询后将查询结果放在CListCtrl控件上。查询一次后,当第二次查询时,必须清除上次结果的所有内容,包括列标题头和显示行的内容。...示例如下: CListCtrl m_mediaListCtrl; //m_mediaListCtrl是在对话框中绑定的CListCtrl变量 int i = 0, iCount = 0; m_mediaListCtrl.DeleteAllItems...设置一个图像列表,使CtreeCtrl的节点显示不同的图标 m_playlistTreeCtrl.SetBkColor(RGB(150,100,120));//设置m_playlistTreeCtrl的背景色为红色
好久不写MFC的程序了,很多细节问题都记不清了,今晚无意中要用到CListCtrl控件,希望能够表头采用自己绘制的方式显示,于是自己编写了OnPaint方法进行重绘,过程中需要根据每一列的对齐方式进行绘制表头中的标题文字... ...... } else if ((tItem.fmt & HDF_JUSTIFYMASK) == HDF_RIGHT) { ...... } 但是我在想CListCtrl
以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 “ListView_”开头的一些宏。...如 ListView_InsertColumn CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST...url=/library/en-us/vclib/html/_mfc_cwnd.3a3a.setredraw.asp listctrl排序 Q250614:How To Sort Items in...a CListCtrl in Report View http://support.microsoft.com/kb/250614/en-us 在listctrl中选中某个item时动态改变其icon...napster.asp http://www.codeguru.com/Cpp/controls/listview/article.php/c4187/ (6) 动态改变subitem的颜色和背景色
MFC中使用CListCtrl类来封装列表控件的各种操作。...此外CListCtrl还提供了一些函数用于得到/修改控件的状态。...下面是一些例子 作者:lixiaosan 时间:04/06/2006 以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以...SHGFI_OPENICON : 0)); return sfi.iIcon; } return -1; } 22.MFC...::SetItem函数更改了行; 如何检测LVN_ITEMCHANGED消息是由那一变化产生的呢?
今天第一次用CListCtrl控件,遇到不少问题,查了许多资料,现将用到的一些东西总结如下: 以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl...CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的...clrNewTextColor = RGB( 255, 0, 0 ); } else //设置为黑色 { clrNewTextColor = RGB( 0, 0, 0 ); } //设置背景色...if( nItem%2 ==0 ) { clrNewBkColor = RGB( 240, 240, 240 ); //偶数行背景色为灰色 } else { clrNewBkColor...= RGB( 255, 255, 255 ); //奇数行背景色为白色 } pLVCD->clrText = clrNewTextColor; pLVCD->clrTextBk = clrNewBkColor
在VS编译器里,假如不想使用初始化的字体,以及背景颜色的话,该如何更改呢?...1、点击菜单栏工具,再点击选项 2、在选项里找到环境,将其展开 3、点击字体与颜色,在右边就可以更改字体以及背景色了 更改后点击确定,这样以后再次创建时,就默认更改后的了。
还能大大减少代码量,因为据统计,传统MFC程序中,界面代码大约占总代码的1/3强!也就是说,这个1/3的代码都可以由xml+javascript替代!...如果是用CListCtrl,那么有两种办法:在CListCtrl中再创建几个CListCtrl,用来表示Item。但这有些弊端:一个窗口内子窗口的数量有限、使CListCtrl过于庞大,影响性能。...还有一个问题是:由于这些控件都是各厂家自己开发的,那么原来mfc程序员需要对这些新的控件进行重新学习。有多少人愿意学习一种不通用的技术? DirectUI还有一个好处:让自己的界面变得不标准。
); 倒过来 CString str=”SERVER01″ str.Delete(0,sizeof(“SERVER”)); 得到str=”01″; str.Format(“%d”,a); CListCtrl...CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的...url=/library/en-us/vclib/html/_mfc_cwnd.3a3a.setredraw.asp ---- 23. listctrl排序 Q250614:How To Sort...Items in a CListCtrl in Report View http://support.microsoft.com/kb/250614/en-us ---- 24....http://www.codeguru.com/Cpp/controls/listview/article.php/c4187/ (6) 动态改变subitem的颜色和背景色
CWMPError类对象 GetDvd() 返回CWMPDVD类对象 GetPlayerApplication() 返回CWMPPlayerApplication类对象 1、新建一个基于对话框的mfc...在菜单上选择 项目-〉添加类-〉MFC->activex控件中的mfc类-〉添加。 4、选择 windows media player,添加IWMPControls类。...右击类视图/解决方案—〉添加类—〉选择“Active中的MFC类”—〉选择windows media playerà选择相应的接口(IWMPMedia IWMPSettings IWMPControls...并在对话框右边添加了一个clistctrl又来显示播放列表。...m_control; CWMPSettings m_set; CWMPPlaylist m_playlist; CWMPMedia m_media; COcx1 m_avPlayer; CListCtrl
For MFC applications using the document/view model, // this is automatically done for you by the...OnMouseMove(nFlags, point); } void CMyDlg::Onqueding() { UpdateData(); CListCtrl...*m_list = new CListCtrl(); m_list->Create(WS_CHILD | WS_VISIBLE |LVS_REPORT,CRect(20,20,545,400...Style m_list->SetExtendedStyle(dwStyle ); m_list->SetBkColor(RGB(50,200,50));//绿背景色... m_list->SetTextColor(RGB(0,0,220)); //蓝文本色 m_list->SetTextBkColor(RGB(50,200,50)); //绿文本背景色
比如使用 Font Awesome 提供的免费图标更改词云的形状,通过 palettable 更改调色板以自定义风格,更改背景颜色,以及最重要的,添加梯度使颜色按照特定方向流动。
代码如下(示例): 由于工作需要,自绘了大部分MFC控件,现作个总结如下 CTreeCtrl是在OnNMCustomdraw中自绘的,不要设定其他属性 CListCtrl是在DrawItem中自绘的,
前面已经讲过了C++ MFC程序对Excel文件的写入,链接如下: https://blog.csdn.net/V_Gogol/article/details/81782644 后面很长时间没有更新读取数据操作...我将读取和写入操作都封装成了一个专门的类,便于后续的调用: list控件读取Excel数据 将Excel数据读取到mfc控件中,我写的函数适用于Excel文件列数和list控件列数相同的情况,此处提供源码...具体代码如下: //参数为列表控件 void CFileRW::ExcelToList(CListCtrl *datalist) { //文件对话框,打开具体Excel文件 CFileDialog...sheets.ReleaseDispatch(); book.ReleaseDispatch(); books.ReleaseDispatch(); app.Quit(); app.ReleaseDispatch(); 至此,mfc
DC(Device Context)在程序中,可以形象的理解为就是一块画布,在画画之前,你要选择好画笔,给画笔蘸上颜色,决定要写字还是画画等等,这些形象的比喻在 mfc 中都有对应的类去实现,大家可以参考下面两篇文章...,本文只记录一些特殊的方法,方便以后翻阅查询: ---- MFC GDI绘图基础:http://blog.csdn.net/phunxm/article/details/5083119 关于设备描述表:...*LPTEXTMETRICW; 每一个参数所代表的意义:https://msdn.microsoft.com/zh-cn/vstudio/dd145132(v=vs.90).aspx 获取 DC 背景色...// 获取 DC 的背景色 COLORREF color = hDC.GetBkColor(); // 设置 DC 绘制字体时的颜色与背景色一致 color = hDC.SetTextColor(color...); 上面示例获取了 DC 的背景色以后有将背景色设置为字体颜色,这样写出来的字就与背景色一致了(看不到写出来的字)。
CListCtrl自绘有3种方法: 第一种:使用WM_ERASEBKGND消息 + NM_CUSTOMDRAW消息配合自绘 WM_ERASEBKGND消息中绘制背景色,比如偶数行为灰色,奇数行为白色。...NM_CUSTOMDRAW消息中设置字体的背景色和字体颜色。 好处:保留了控件大多数的原有属性。不需要自己去输出每一个项目的字体。可以非常方便的设置背景色,以及文字的颜色。缺点:不能设置选中行颜色。...背景色,选中色,缺点:有点复杂。
这段时间在使用MFC做媒体播放器项目,查询了不少资料,用到的技术主要有ADO、多线程、DirectShow、MFC相关控件包括ActiveX控件(Windows Media Player、Active...这将近一个月的时间内,通过媒体播放器项目,我熟悉了使用ADO操作Access数据库、SQL语句的运用(虽然用的语句比较简单,无非增删改查)、Window Media Player对应的17个类的使用、MFC...的列表框CListBox、树控件CTreeCtrl、CListCtrl等控件、多线程的使用等。...//加载菜单 CMenu menu; menu.LoadMenu(IDR_MENU1); SetMenu(&menu); 4、MFC中各种指针的获取 VC中编程对于刚刚开始学习的同学...一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针获取和操作问题。
virtual COLORREF SetBkColor(COLORREF crColor); 参数:crColor为新背景色 返回值:先前背景色;若错误,返回值为0x80000000 CDC::GetTextExtent...1) 在mfc结构里OnPaint是CWnd的成员函数....其次:我们在第《每天跟我学MFC》3的开始部分已经说到了。要想在屏幕上绘图或显示图形,首先需要建立设备环境DC。...当文档的数据以某种方式更改后,必须重绘视图以反映该更改。默认的 OnUpdate 实现使视图的整个工作区无效。当视图变得无效时,Windows 将 WM_PAINT 消息发送给它。...其实,MFC在进行打印前后还做了很多工作,调用了很多虚函数,比如OnPreparePrint()等。
比如我把 view 的背景色从 grayColor 改成了 lightGrayColor,那我从代码上就可以很直观的看到这一句 view.backgroundColor = [UIColor lightGrayColor...],但如果在 Storyboards 里,我就要去找背景色这一栏,还要分辨出灰色和浅灰色。...最最后,我想起来以前上学搞 MFC 的时候,那时候也有关于手写界面还是拖界面的讨论,当时一个很有说服力的评论是,手写界面可以锻炼你对 MFC 程序的理解,可能你还是无法知道 MFC 的实现原理,但你会很熟悉...MFC 的实现过程(大概是这意思)。