- 浏览: 73399 次
- 性别:
- 来自: 上海
最新评论
文章列表
void CNewReportPage::OnNMCustomdrawRightbottomModel2List(NMHDR *pNMHDR, LRESULT *pResult){ LPNMLVCUSTOMDRAW pLVCD = reinterpret_cast<LPNMLVCUSTOMDRAW>(pNMHDR); int nItem = static_cast<int>(pLVCD->nmcd.dwItemSpec);
if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage ) { *pR ...
void CEx_14View::OnDraw(CDC* pDC){ CEx_14Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc);////////////////////////////////////////////////////////////画bitmap图 CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); CDC MemDC; MemDC.CreateCompatibleDC(pDC);//创建兼容的内存设备描述表 CBi ...
网上有关clistctrl举不胜举,包括按钮控件的绘制也很多,但我用的时候找了好久没发现适合我用的。在这里我想介绍一种很简洁的+、-号按钮绘制的方法,实现后类似于tree中的+、-号收缩功能。以便同行以后有需要可以直接搬走使用。
依附点:clistctrl用的最多的setitemdata,setitemtext,可以记录一些信息,但这里通过setitemstate来记录与修改图标的状态,从而实现+、-号的按钮。
问题:你可能说为什么不绘制一个+号按钮呢?红色部分代码是绘制了一个+号按钮,但很难看,另外你单击时候还要改变成-号,这可能也许能实现,但我想其中你做的这些工作的时间足够你用 ...
20. listctrl的subitem添加图标
m_list.SetExtendedStyle(LVS_EX_SUBITEMIMAGES); m_list.SetItem(..); //具体参数请参考msdn
21. 在CListCtrl显示文件,并根据文件类型来显示图标
网上找到的代码,share BOOL CTest6Dlg::OnInitDialog() { CDialog::OnInitDialog(); HIMAGELIST himlSmall; HIM ...
ListCtrl在工作中,常常用到,也常常看到大家发帖问怎么用这个控件,故总结了一下自己的使用经验,以供参考使用。 先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象,然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用。其次,我们这里用条款一,条款二来描述第一点,第二点,这个是参照《Effective C++》的叫法,俺觉得这么叫比较COOL :) 条款一:设置ListCtrl的风格 在CSDN上常常看到有人问怎么设置风格的,他们ListCtrl的样子是一个列表,有横条和竖条分界线,然后选中 ...
typedef struct _LV_COLUMN {UINT mask; //屏蔽位的组合(见下面括号),表明哪些成员是有效的.int fmt; /*该列的表头和子项的标题显示格式(LVCF_FMT).可以是LVCFMT_CENTER、LVCFMT_LEFT或LVCFMT_RIGHT*/int cx; //以像素为单位的列的宽度(LVCF_FMT)LPTSTR pszText; //指向存放列表头标题正文的缓冲区(LVCF_TEXT)int cchTextMax; //标题正文缓冲区的长度(LVCF_TEXT)int iSubItem; //说明该列的索引(LVCF_SUBITEM)} LV_ ...
加载位图BITMAP
- 博客分类:
- MFC
m_Bitmap.LoadBitmap(IDB_BITMAP1);//加载位图从 资源ID中, m_Picture1.SetBitmap(m_Bitmap);//然 静态图片控件设置位图资源 从 m_Bitmap 中的内存对象载入!
----------------------------------
m_Button1.ModifyStyle(0,BS_BITMAP);//设置按钮的风格 第一个参数是 句柄 一般为空即可 代表指向自己this,第二个参数可以参考MSDN。 m_Button1.SetBitmap(::LoadBitmapW(AfxGetInstanceHandle(),M ...
而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息。
OnDraw()是CVIEW的成员函数,并且没有响应消息的功能。这就是为什么你用VC成的程序代码时,在视图类只有OnDraw没有OnPaint的原因。
我们一般用OnPaint维护窗口的客户区(例如我们的窗口客户区加一个背景图片),用OnDraw维护视图的客户区(例如我们通过鼠标在视图中画图)。
common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。Custom draw可以被想象成 ...
OnCreate PreCreateWindow PreSubclassWindow
PreCreateWindow和PreSubclassWindow是虚函数,而OnCreate是一个消息响应函数。
对比对话框的2种创建方式下,这3个函数的是否调用的状态:
OnCreate
PreCreateWindow
PreSubclassWindow
CDialog::Create
是
否
是
CDialog::DoModal
是
否
是
对比控件的2种创建方式下,这3个函数的是否调用的状态 ...
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色
实现过程:
1.表头修改 新建一个MFC类CHeaderCtrlCl,其基类为CHeaderCtrl,响应OnPaint消息实现自绘,在头文件中定义函数LRESULT OnLayout( WPARAM wParam, LPARAM lParam ),之后手动添加消息响应ON_MESSAGE(HD ...
创建CListCtrl中的排序小图标
for(int i = 0; i < GetHeaderCtrl()->GetItemCount(); ++i) { HDITEM hditem = {0}; hditem.mask = HDI_BITMAP | HDI_FORMAT; VERIFY( GetHeaderCtrl()->GetItem( i, &hditem ) ); if (hditem.fmt & HDF_BITMAP && hditem.fmt & HDF_BITMAP_ON_RIGHT) { if ...
初始化: DWORD dwStyle; dwStyle = m_bzlist.GetStyle(); dwStyle |= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT|LVS_SHOWSELALWAYS ; m_bzlist.SetExtendedStyle(dwStyle); m_bzlist.SetBkColor(RGB(0xec,0xf1,0xfd)); m_bzlist.SetTextBkColor(RGB(0xfe,0xFF,0xc6));插入一列: m_bzlist.InsertColumn(0,"编号"); m_bzlist.S ...
改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
作者:effortsboysZYB
下载源代码
摘要
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。
关键字: 自绘 子类化 颜色 CListCtrl CHeaderCtrl
一、 实现过程
1.表头修改 新建一个MFC类CHeaderCtrl ...
CListCtrl的表头可以单独使用,类CHeaderCtrl封装了这一功能.
1. 构造表头
和所有控件一样,都通过Create函数创建对象,Create函数的原型如下:
virtual BOOL Create(DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID)
参数说 ...