现在位置: 首页 > 所有2012年发表的文章
2012-09-07 07:01 工业·编程 ⁄ 共 7104字 暂无评论
大家都知道在MFC中通过给CListCtrl设置LVS_EDITLABELS属性,并且在程序中响应控件的LVN_ENDLABELEDIT消息可以修改列表控件每一行的第一项,也就是主项(Item)。 void CEditListCtrlSampleDlg::OnEndlabeleditList1(NMHDR* pNMHDR, LRESULT* pResult) { LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR; // TODO: Add your control notification handler code here *pResult = TRUE; //TRUE值表示可以修改主项,FALSE值表...
阅读全文
  如果要对ListBox控件进行自定义绘制(美化),那么首先必须将ListBox的DrawMode属性设置为OwnerDrawVariable或OwnerDrawFixed。ListBox有个ItemHeight属性,在DrawMode设置为Normal时,这个属性是不可设置的,并且其值是根据当前字体进行计算获得的。只有当DrawMode设置为OwnerDrawVariable或OwnerDrawFixed时,设置ItemHeight才生效。 属性 说明 Normal 组件的所有元素都由操作系统绘制,并且元素大小都相等。 OwnerD...
阅读全文
花了一个晚上学习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); ...
阅读全文