参考博客:Redrain

转载:http://blog.csdn.net/zhuhongshu/article/details/41786407

在Redrain博客的基础上做了修改

1.CEditUI的DoEvent函数添加一下代码

 /////////////////////////
if( event.Type == UIEVENT_SETFOCUS && IsEnabled() )
{
if (_tcscmp(GetText(),GetSrcTipValue()) != )
{
SetText(GetText());//说明用户有输入,显示用户输入
}
else
{
SetText(_T(""));//用户没输入,还是显示预制提示信息
}
Invalidate();
}
if( event.Type == UIEVENT_KILLFOCUS && IsEnabled() )
{
if (_tcscmp(GetText(),GetSrcTipValue()) != )
{
SetText(GetText());//同上
}
else
{
SetText(_T(""));//同上
}
Invalidate();
}
//////////////////////////////

2.在PaintText 做了修改

    CString sText = m_sText;

    if(! m_sText.IsEmpty() )//用户输入
{
if (m_bPasswordMode)//密码模式
{
if (m_sText != m_sSrcTipValue)//用户输入
{
int nlen = sText.GetLength();
sText = "";
for(int i = ; i < nlen; i++)
{
sText += '*';
}
}
}
}
else if (!m_sSrcTipValue.IsEmpty())//用户没有输入
{
sText = m_sSrcTipValue;
mCurTextColor = m_sTipValueColor;
}

Demo程序:

http://files.cnblogs.com/files/chechen/DuilibEdit.rar

扩展duilib edit控件的提示功能和多种文字颜色(解决edit为password显示不正常的bug)的更多相关文章

  1. 增加duilib edit控件的提示功能和多种文字颜色

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41786407 duilib的CEditUI控件内部使用了win32的原生 ...

  2. 设置EditText控件中提示消息hint的字体颜色和大小

    设置EditText控件中提示消息hint的字体颜色和大小 1.设置字体大小 代码例: public void init(){ hint= (EditText) findViewById(R.id.i ...

  3. 设置LISTControl控件某一行的背景和文字颜色

    定义宏 用listcontrol的SetItemData设置某一行的属性,通过自定义属性标识实现. 自定义某行内容颜色属性: #define COLOR_DEFAULT 0 //默认颜色 #defin ...

  4. 改进duilib的richedit控件的部分功能

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41208207 如果要使用透明异形窗体功能,首先要改进duilib库让他本 ...

  5. 修复duilib CEditUI控件和CWebBrowserUI控件中按Tab键无法切换焦点的bug

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41556615 在duilib中,按tab键会让焦点在Button一类的控 ...

  6. 修改Delphi 10.1.2 edit控件在android的复制、剪切和粘贴样式

    Delphi 10.1.2 edit控件在android默认的复制.剪切和粘贴样式太丑,经悟能-DelphiTeacher的提示,用最简单的代码修改后稍有改观. 默认的样式: 修改后的样式: 修改FM ...

  7. Delphi在Listview中加入Edit控件

    原帖 : http://www.cnblogs.com/hssbsw/archive/2012/06/03/2533092.html Listview是一个非常有用的控件,我们常常将大量的数据(如数据 ...

  8. mfc Edit控件属性

    设置Edit控件属性 窗口创建顺序 初始化Edit控件数据 一.设置Edit控件属性 .Align Text :Right 二.窗口创建顺序 CMywindowdlg: 窗口构造函数 OnCreate ...

  9. .NET Framework的属性类对控件的支持功能

     ToolBoxItem 此属性为类特性.属于工具箱属性,可以设置当前控件是否在工具箱中显示,以及所在工具箱项的类型名称等信息.默认生成的控件都显示在工具箱中. 更多设计时属性介绍: 4.3 属性的 ...

随机推荐

  1. BeanFactory

            Spring容器,最基本的接口就是BeanFactory 负责创建,配置,管理bean 它有一个子接口ApplicationContext并将功能扩展.         理论上bean ...

  2. Workflow Mailer Notifications设置

    参考:http://www.docin.com/p-651716490.html http://www.360doc.com/content/12/0218/15/3200886_187602886. ...

  3. PAT乙级 1031. 查验身份证(15) 标志要清零!!!!!!!!!

    1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个合法的身份证号码由17位地区. ...

  4. access调用联系

    using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; us ...

  5. java连接数据库URL

    转: 1.Oracle数据库 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url ...

  6. 向已写好的多行插入sql语句中添加字段和值

    #region 添加支款方式--向已写好的多行插入sql语句中添加字段和值 public int A_ZhifuFS(int diqu) { ; string strData = @"SEL ...

  7. hadoop文件系统FileSystem详解 转自http://hi.baidu.com/270460591/item/0efacd8accb7a1d7ef083d05

    Hadoop文件系统 基本的文件系统命令操作, 通过hadoop fs -help可以获取所有的命令的详细帮助文件. Java抽象类org.apache.hadoop.fs.FileSystem定义了 ...

  8. Angularjs之基本概念梳理(一)

    1.Angularjs指令属性ng-app和ng-controller的理解 ng-app指令-标记了AngularJS脚本的作用域,在<html>中添加ng-app属性即说明整个< ...

  9. laravel事务小例子

    发生异常则自动回滚,正常则自动提交,示例如下: DB::connection('vshare')->transaction(function() use($id,$reason,$refuser ...

  10. va_list/va_start/va_arg/va_end深入分析【转】

    转自:http://www.cnblogs.com/justinzhang/archive/2011/09/29/2195969.html va_list/va_start/va_arg/va_end ...