- 浏览: 71270 次
- 性别:
- 来自: 上海
文章分类
最新评论
网上有关clistctrl举不胜举,包括按钮控件的绘制也很多,但我用的时候找了好久没发现适合我用的。在这里我想介绍一种很简洁的+、-号按钮绘制的方法,实现后类似于tree中的+、-号收缩功能。以便同行以后有需要可以直接搬走使用。 依附点:clistctrl用的最多的setitemdata,setitemtext,可以记录一些信息,但这里通过setitemstate来记录与修改图标的状态,从而实现+、-号的按钮。 问题:你可能说为什么不绘制一个+号按钮呢?红色部分代码是绘制了一个+号按钮,但很难看,另外你单击时候还要改变成-号,这可能也许能实现,但我想其中你做的这些工作的时间足够你用这种方法做了好几遍了。 1.说是按钮,其实这里采用了图标的方式,你可以用vc自带的工具,也可以用ARTICONS工具,首先绘制两个图标,+、-号.INDEXTOSTATEIMAGEMASK这个宏来把你图标的索引号 进行转变。 2.在inidlg函数中创建图表,并保存+、-号图标。贴代码 BOOL CTest_listcheckDlg::OnInitDialog() // Set the icon for this dialog. The framework does this automatically m_list.SetImageList(m_pImageLarge, LVSIL_SMALL); int i=0; // CRect rect; index=m_list.InsertItem(i++,"2",0); index=m_list.InsertItem(i++,"3",0); index=m_list.InsertItem(i++,"4",0); index=m_list.InsertItem(i++,"5",-1);
return TRUE; // return TRUE unless you set the focus to a control 3.单击+、-号的分别处理消息,单击+号则插入你需要的记录,单击-号则删除下面的记录,贴代码: void CTest_listcheckDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 希望对项目紧又没时间研究的人给予 一定的帮助。 |
发表评论
-
自己写的一段customerDraw
2010-08-24 16:20 1856void CNewReportPage::OnNMCustom ... -
帖BitMap
2010-08-24 09:42 747void CEx_14View::O ... -
listctrl总结2
2010-08-11 17:11 94620. listctrl的subitem添加图标 ... -
VC中使用ListCtrl经验总结(1)
2010-08-11 17:07 1281ListCtrl在工作中,常常用到,也常常看到大家发帖问怎么用 ... -
LV_COLUMN结构体
2010-08-10 14:44 2639typedef struct _LV_COLUMN {UINT ... -
加载位图BITMAP
2010-08-10 14:27 1403m_Bitmap.LoadBitmap(IDB_BITMAP1 ... -
关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
2010-08-10 13:15 6380而OnPaint()是CWnd的类成员,同时负责响应WM_ ... -
listctrl 重绘
2010-08-10 10:15 1017common control 4.7版本介绍 ... -
OnCreate PreCreateWindow PreSubclassWindow
2010-08-09 17:47 1723OnCreate PreCreateWindow PreSub ... -
扩展CListCtrl实现颜色长度改变
2010-08-09 17:34 3165用CListCtrl来显示数据比较方便,有时候我们需要标注某一 ... -
创建CListCtrl中的排序小图标
2010-08-09 17:11 2272创建CListCtrl中的排序小图标 for(int i = ... -
CListCtrl控件的使用
2010-08-09 17:02 1156初始化: DWORD dwStyle; dwStyle = m ... -
改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
2010-08-09 16:49 2569改变 CListCtrl、CHeaderCtrl 高度、字体、 ... -
CHeaderCtrl用法
2010-08-09 15:47 4204CListCtrl的表头可以单独 ... -
CListCtrl::SortItems的用法:
2010-08-09 12:37 1955CListCtrl::SortItems的用法: (一)So ... -
树型视的三个结构TVINSERTSTRUCT、TVITEM、NMTREEVIEW
2010-08-05 18:11 954TVINSERTSTRUCT包含添加新项到树形视控件所使用的信 ... -
剪贴板和OLE拖放
2010-08-05 16:35 1087一、传统剪贴板 ... -
文档/视图结构中的各个部分是如何联系到一起的
2010-08-05 15:39 719文档/视图结构是MFC中最有特色而又有难度的部分,在这当中涉及 ... -
MFC一些函数区别
2010-08-05 13:43 1613GetMessagePos GetCursorPos的区别 ... -
LPTSTR、LPCSTR、LPCTSTR、LPSTR的意义
2010-08-05 13:33 989UNICODE:它是用两个字节 ...
相关推荐
一共两个压缩文件,一个是从CodeProject上下载的例子,里面包含了CListCtrl重绘,内嵌入有按钮等各种控件 另外一个是参考例子,嵌入按钮,修改了重绘CListCtrl后无法显示图标的问题
里面包括CFILEDIALOG 内幕 ClistCtrl 用法 CCOMBOBOC用法 对话框的绘制 按钮的绘制等 本人1个星期研究心血啊! 里面图片有3个绝对路径,大家编译可能出现错误,只需要将路径变为res\***就好
8.8.3 ClistCtrl类的主要成员函数 8.9 树形(TreeCtrl)控件 8.9.1 树形控件的使用 8.9.2 CTreeCtrl类的主要成员函数 8.9.3 树形控件的通知消息 8.10 项卡(TabCtrl)控件 8.10.1 选项卡控件的使用 8.10.2 选项卡控件...
有了Windows,一切都好办了,Windows将诸如按钮、菜单、工具栏等等这些通用界面的绘制及动作都交给了系统,程序员就不用花心思再画那些按钮了,可以将更多的精力放在程序的功能实现方面。 所有的标准界面元素都被...
首先为了实现工具箱的按钮分两列显示的效果,需要设置一下按钮的TBBS_WRAPPED,参见程序中的CToolPaletteBar类;然后,选择不同工具时展现出工具的样式,比如选择“直线”时列出可用的直线宽度样式,该功能通过在...
2014/11/08 23:11 108,419 完美自绘制CListCtrl控件[MFC].rar 2010/05/21 19:01 33,767 屏幕测量.rar 2007/10/17 14:57 3,147 模拟keyborad.rar 2007/10/16 16:56 3,490 淡入淡出.rar 2007/10/17 10:45 1,424 目录...
例如当菜单转中之后会有WM_COMMAND消息发送,WPARAM的高字中(HIWORD(wParam))是命令的ID号,对菜单来讲就是菜单ID。当然用户也可以定义自己的消息名称,也可以利用自定义消息来发送通知和传送数据。 2、谁将收到...
它演示如何使用CListCtrl::Scroll()函数,它是CListView的report方式的一个子集(14KB)<END><br>54,treelist1.zip 显示资源管理器风格的目录树结构的例子(64KB)<END><br>55,list_menu.zip 在ToolBar中嵌入...