自绘编辑框

转载 2013年12月03日 10:06:52

转自http://blog.csdn.net/xianglitian/article/details/1728920

 

源文件 

        编辑框是常用控件之一,同时也是一种完全自实现较为繁琐的控件。本例实现了对编辑框的简单的自绘制,在保留其自身的强大功能的前提下,实现了编辑框的边框、背景、文字颜色以及禁用态的各种颜色的替换。
        要想重绘,我们必须知道要绘什么。通过观察默认的编辑框我们可以很清楚的看到编辑框有三个最基础的部分需要我们绘制,他们分别是3D边框、背景和文字,再进一步分析我们会发现他们是一个基本窗口的两个部分,即客户区和非客户区。这样一来我们就知道应该用什么函数有针对性的绘制什么区域了,由于提供了源码,这里仅就基本原理和技术细节加以讨论,不过多地罗列代码。
        为了绘制非客户区,我重载了OnNcPaint函数,通过这个函数可以很轻松的去掉编辑框3D外观,画成我们自己想要的形式。至于客户区,为了保留编辑框光标闪烁、字符处理、自动回行等功能,我并未重载OnPaint函数。也就是说我并未重绘客户区,而是选择了一个替代的办法。
        我们使用编辑框,用的就是它的文本编辑功能,而我们想要改变的只是文字及背景颜色。通过这种分析我们就会很清楚我们需要做的事情,那就是设置文字颜色和背景色。我用的方法是重载CtlColor函数,在其中根据编辑框禁用和启用的不同状态,设置了不同的颜色,很好的实现了预期目的。
        从严格意义上来说,我并没有对编辑框重绘,只是简单的绘制了边缘,但同样很好的实现预期的效果。当然这个例子还有许多的不尽人意的地方,如果大家有更好的方还希望我们一同交流。

自绘文本编辑框(MyEdit)

  • 2014年06月15日 13:55
  • 2KB
  • 下载

自绘编辑框【BUG】

  • 2011年08月15日 23:48
  • 129KB
  • 下载

iOS开发:编辑框格式化输入、删除、插入

在有些iOS app中需要用到textfield格式化输入、删除、插入,比如银行卡号6215 8888 8888 8888 888等要求4位一分格(手机号同理),如何在编辑框输入和删除时自动显示这样的...

自绘16进制编辑框

  • 2016年11月22日 20:19
  • 550KB
  • 下载

自绘编辑框(vc++6.0)实现

  • 2009年07月02日 13:48
  • 8.94MB
  • 下载

VS2013/MFC编程入门之二十(常用控件:编辑框Edit Control)

除了静态文本框外,编辑框(Edit Control)同样是一种很常用的控件,本节要讲的是在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。   ...

(转发)以前下载的CWnd自绘编辑框

  • 2012年04月28日 21:51
  • 28KB
  • 下载

MFC Edit Control 鼠标离开编辑框时显示消息

开发环境:Visual Studio 2010 应用程序:MFC Application 笔记主要包含Edit Control控件的常用设置、多个Edit Control控件输入时单独判断...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自绘编辑框
举报原因:
原因补充:

(最多只允许输入30个字)