博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
扩展duilib edit控件的提示功能和多种文字颜色(解决edit为password显示不正常的bug)...
阅读量:5821 次
发布时间:2019-06-18

本文共 1202 字,大约阅读时间需要 4 分钟。

参考博客:

转载:

 

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

 

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

 

1 / 2 if( event.Type == UIEVENT_SETFOCUS && IsEnabled() )  3     { 4         if (_tcscmp(GetText(),GetSrcTipValue()) != 0) 5         { 6             SetText(GetText());//说明用户有输入,显示用户输入 7         } 8         else 9         {10             SetText(_T(""));//用户没输入,还是显示预制提示信息11         }12         Invalidate();13     }14     if( event.Type == UIEVENT_KILLFOCUS && IsEnabled() ) 15     {16         if (_tcscmp(GetText(),GetSrcTipValue()) != 0)17         {18             SetText(GetText());//同上19         }20         else21         {22             SetText(_T(""));//同上23         }24         Invalidate();25     }26 //

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 = 0; i < nlen; i++)                {                    sText += '*';                }            }        }    }    else if (!m_sSrcTipValue.IsEmpty())//用户没有输入    {        sText = m_sSrcTipValue;        mCurTextColor = m_sTipValueColor;    }

 Demo程序:

你可能感兴趣的文章
[Android Pro] 完美Android Cursor使用例子(Android数据库操作)
查看>>
4 张 GIF 图帮助你理解二叉查找树
查看>>
c++中sizeof的分析
查看>>
线程间操作无效: 从不是创建控件的线程访问它的解决方法
查看>>
hdu 1236 排名
查看>>
【爆牙游记】黄山归来不看岳-日出。
查看>>
PHP面向对象深入研究之【继承】,减少代码重复
查看>>
RBAC权限管理
查看>>
此博客不再发表对自己私事的看法
查看>>
后台(20)——数据库连接池
查看>>
C# 开机自动启动程序
查看>>
导致Asp.Net站点重启的10个原因
查看>>
v7000数据恢复_MDisk重建数据恢复方法(北亚数据恢复)
查看>>
线分割平面与平面分割空间问题
查看>>
【PMP】Head First PMP 学习笔记 第一章 引言
查看>>
抓住云机遇编排工作 搞定复杂IT工作流
查看>>
docker+python无头浏览器爬虫
查看>>
复位windows网络参数的方法
查看>>
MYSQL的longtext字段能放多少数据?
查看>>
MTK 平台上如何给 camera 添加一种 preview size
查看>>