现在位置: 首页 > 自动控制 > 工业·编程 > 文章
花了一个晚上学习listctrl的自绘,不是很简单,可能比CRichEditCtrl还要复杂些,遇到第一件事情是自适应改变行高,项目需要,当然也可以是固定,最终解决方案如下: 网上修改CListCtrl项高度的方法一般是扩大字体,及用图片将项高度撑大. 这两种方法虽然简单,但是效果却不是很理想.一种比较理想的方法是自画CListCtrl,不过方法相对来说比较复杂. 要 修改CListCtrl的列表项高度,我们需要自己添加 MeasureItem 的消息响应函数...
阅读全文
    用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。 一、 实现过程 1.表头修改 新建一个MFC类CHeaderCtrlCl,其基类为CHeaderCtrl,响应OnPaint消息实现自绘,实...
阅读全文
2012-09-07 06:55 工业·编程 ⁄ 共 18196字 暂无评论
自行绘制 ClistCtrl 的列表项,可以利用列表框的 NM_CUSTOMDRAW 消息,该消息由控件向它的父窗口发送,告诉父窗口它的绘图操作。     如果绘图操作不需要父窗口参与,可以使用该控件的 ON_NOTIFY_REFLECT 宏处理它的 NM_CUSTOMDRAW 消息。     它的处理函数的参数中包含 NMHDR,在 CUSTOMDRAW 的通知下 NMHDR 可以被转换成为 NMLVCUSTOMDRAW 结构,该结构包含了列表控件中需要自绘区域的全部信息...
阅读全文
2012-09-07 06:50 工业·编程 ⁄ 共 1606字 暂无评论
文章目录 Parameters 图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。图像列表控制提供了控制图像列表的基本方法,这些方法在WINDOWS95及以后版本才能...
阅读全文
2012-09-07 06:49 工业·编程 ⁄ 共 4677字 暂无评论
列表控件(CListCtrl)的顶部有一排按钮,用户可以通过选择不同的列来对记录进行排序。但是   CListCtrl并没有自动排序的功能,我们需要自己添加一个用于排序的回调函数来比较两个数据的大小,此外还需要响应排序按钮被点击的消息。下面讲述一下具体的做法。     CListCtrl提供了用于排序的函数,函数原型为:BOOL   CListCtrl::SortItems(   PFNLVCOMPARE   pfnCompar...
阅读全文
2012-09-07 06:47 工业·编程 ⁄ 共 1823字 暂无评论
我写此文的目的是想向初学MFC的朋友们介绍 如何通过CRichEditCtrl来实现文本查找 如何在窗体间发送消息 实现文本查找功能,大致分为以下几步: 创建一个包含有CRichEditCtrl的窗体资源以及该窗体对应的处理类 创建一个录入查找文本的窗体资源以及该窗体对应的处理类 处理文本查找的消息传递 处理文本查找 创建一个包含有CRichEditCtrl的窗体资源以及该窗体对应的处理类 新建一个工程,通过AppWizard创建Dialog类型的工...
阅读全文
2012-09-07 06:45 工业·编程 ⁄ 共 4865字 暂无评论
随着开发工具不断地更新换代,Microsoft的 .Net 框架到目前已经更新到了2.0。不得不承认,.Net 框架给程序员带来了很多编程上的便利。开发者通过.Net框架,使他开发出来的产品自然的从框架那里获得了稳定、安全的高起点。这是.Net框架的优秀表现之一。关于.Net框架的评价,不是我在这里讨论的内容,我想提的是似乎被遗忘的Microsoft的另外一个框架MFC(Microsoft Foundation Class Library)。 我写这篇文章的目的,是为了向大家...
阅读全文
2012-09-07 06:24 工业·编程 ⁄ 共 2078字 暂无评论
1. ************************************************ COleDateTime time; time.ParseDateTime("2008-02-29"); if (time.GetStatus() == 1) //有效 {} else                //无效 {} 2. *********************************************** COleDateTime t; // this one is a leap year t.SetDateTime(2000, 2, 29, 5, 0, 0); ...
阅读全文
2012-09-07 06:06 工业·编程 ⁄ 共 1801字 暂无评论
    网上修改CListCtrl项高度的方法一般是扩大字体,及用图片将项高度撑大.这两种方法虽然简单,但是效果却不是很理想.一种比较理想的方法是自画CListCtrl,不过方法相对来说比较复杂.     要修改CListCtrl的列表项高度,我们需要自己添加 MeasureItem 的消息响应函数,对应的消息是 WM_MEASUREITEM+WM_REFLECT_BASE, 而不是 WM_MEASUREITEM.在CListBox里我们可以直接在 ClassWizard 里将此消息响应添...
阅读全文
2012-09-06 23:21 工业·编程 ⁄ 共 2857字 暂无评论
1、为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量 即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数 优点:能够提高效率,表达简单、清晰 缺点:友元函数破环了封装机制,尽量不使用成员函数,除非不得已的情况下才使用友元函数。 2、什么时候使用友元函数: 1)运算符重载的某些场合需要使用友元。 2)两个...
阅读全文