
常用控件
Jimmy1224
这个作者很懒,什么都没留下…
展开
-
combobox之下拉宽度自适应
效果对比先看下优化前后的效果,再看实现过程.优化前优化后从上图中可看到,combobox优化后可以自适应不同长度的字符串,保证每个字符串都能够显示完整。实现过程当我们触发CBN_DROPDOWN事件时,不再使用默认的实现,而是利用消息反射机制,重新计算下拉列表的宽度,具体步骤如下:生成CMyComboBox类,这个类继承CComb原创 2017-03-12 16:10:06 · 12289 阅读 · 0 评论 -
MFC设置工具栏按钮Tip方法总结
本节主要介绍工具栏按钮显示Tip信息,对应添加工具栏的步骤见工具栏编程静态方法直接在资源视图里,对要修改的工具栏的某个按钮,在其属性对话框中,对Prompt属性进行修改;Prompt格式为“字符串1\n字符串2”,其中字符串1是状态栏提示信息,字符串2是工具栏提示信息,我们修改字符串2即可。例如:动态方法1. OnUserToolTip我们可以将框架类中的m_wndToolBar成员变量从CToo...原创 2017-03-19 12:41:17 · 5649 阅读 · 0 评论 -
对话框基础知识(二)--访问控件的五种方式
背景描述: 我们用实现这样的一个功能,在Num1和Num2编辑框中输入数据,点击求和按钮后,在Sum编辑框中显示这两个数的和,对话框界面如图1所示。准备事项: 1.添加与这个对话框相关联的类,具体方法参见《对话框基础知识(一)》; 2.从工具箱从拖拽3个编辑框控件和3个文本控件,同时增加一个“求和”按钮 3.在所关联的对话框类中响应“求原创 2016-10-23 21:25:32 · 849 阅读 · 0 评论 -
CToolBar的使用介绍
CToolBar控件是MFC提供的一个类,实现了一般窗口应用中的工具条。通常用于SDI或者MDI程序中,对话框程序中通常不使用工具条。一、代码中的工具条工具条是一个CToolBar类对象,通常作为成员对象嵌入程序的CMainFrame类中,也就是说嵌入主框架窗口中。因此,MFC生成框架窗口的时候同时生成工具条,销毁框架窗口的时候同时销毁工具条。下面是一个多文档 (MDI) 程序的代转载 2016-11-23 23:01:44 · 4080 阅读 · 0 评论 -
MFC中CTreeCtrl加载节点缓慢的分析和解决方法
问题描述:最近解决了一个tree view插入节点缓慢的问题。原数据有1w多个节点,加载数据需要大概5s,导致整个UI挂起,处于hang up的状态。查询了很多资料,大概有几种解决方案。1. 使用virtual tree技术。所谓虚拟树,就是在插入节点的时候,并不是真正的载入节点中需要显示的文本,而只是指明节点存在,在需要显示节点的时候,响应treectrl的TVN_G转载 2016-11-29 22:11:55 · 1935 阅读 · 0 评论 -
改变控件的背景颜色和字体颜色
在默认情况下, 我们看到的对话框及其控件的背景和字体颜色都是浅灰色的,为了美化界面我们可以使用MFC中的WM_CTLCOLOR消息,它的响应函数是Cwnd类的OnCtlColor.。该函数声明如下:afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor );返回值:OnCtlColor必须返回一个刷子句柄,该刷子将被用原创 2016-12-07 23:09:34 · 3876 阅读 · 0 评论 -
4种控件自绘技术类型分析
本文全面详细分析了四种控件自绘技术,包含控件颜色修改技术WM_CTLCOLOR、用户自绘CustomDraw技术、拥有者自绘OwnerDraw技术WM_DRAWITEM和控件子类化技术,并分别列出了各种技术支持的控件类型。转载 2016-12-17 14:14:14 · 1279 阅读 · 0 评论 -
VC之美化界面篇
本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:1. 大致了解MFC框架的基本运作原理;2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制;3. 熟悉OOP理论和技术;本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。 1. 美化界面之开题篇相信使用过《金山毒霸》、《转载 2016-12-17 15:03:50 · 4907 阅读 · 0 评论 -
MFC自绘Button按钮分析和实现
对于按压式的Button按钮,WM_CTLCOLOR无法完成按钮控件的背景颜色和字体颜色修改,若想要完成外观定制需要添加WM_DRAWITEM消息或者重写CButton类中的DrawItem函数完成按钮外观修改,下面逐一介绍。自绘制知识基础自绘制需要的两个基础步骤:1.控件类型设置为 BS_OWNERDRAW2.添加WM_DRAWITEM消息响应函数或者重写Dr原创 2016-12-18 17:55:18 · 11758 阅读 · 1 评论 -
说明为什么Button控件不能使用CustomDraw技术
在MFC 4.7版本后实现了CustomDraw技术,使得对许多普通控件的自绘变得非常灵活和简单,我们通过修改传入的结构体成员来对控件做细微的定制,对于不关心的绘制阶段我们不做任何处理;CustomDraw自绘技术不同于OwnerDraw技术技术,OwnerDraw要求程序员员去绘制控件的整个阶段。CustomDraw技术仅支持以下这些:Header controlsList-view原创 2016-12-18 19:33:58 · 817 阅读 · 0 评论 -
combobox之属性介绍
Auto当用户在行尾输入字符时,自动将文本滚动到左侧,这个属性可解决combobox编辑框在有限长度内,通过移动光标可以显示全部的文本内容。这个默认属性是False。Sort在默认情况下,combobox控件添加字符串是具有自动排序功能,若不希望排序,可将Sort属性置为False。Typecombobox目前支持三种类型,分别是简单(simple),下拉(Dropdown)、下拉列表(Drop L原创 2017-03-12 12:24:45 · 15674 阅读 · 1 评论 -
CBN_EDITCHANGE和EN_CHANGE的区别
CEdit类提供了Windows编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本;CComboBox类封装了Windows组合框。组合框由一个列表框和一个静态控件(或编辑控件)组成。在这两个类中都有EditChange的控件事件,分别是编辑框的EN_CHANGE事件和CBN_EDITCHANGE事件,这两个事件有所区别,下面逐一介绍。EN_CHANGE这个消息...原创 2018-02-08 09:48:42 · 7065 阅读 · 0 评论