扩展duilib edit控件的提示功能和多种文字颜色(解决edit为password显示不正常的bug)
参考博客: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)的更多相关文章
- 增加duilib edit控件的提示功能和多种文字颜色
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41786407 duilib的CEditUI控件内部使用了win32的原生 ...
- 设置EditText控件中提示消息hint的字体颜色和大小
设置EditText控件中提示消息hint的字体颜色和大小 1.设置字体大小 代码例: public void init(){ hint= (EditText) findViewById(R.id.i ...
- 设置LISTControl控件某一行的背景和文字颜色
定义宏 用listcontrol的SetItemData设置某一行的属性,通过自定义属性标识实现. 自定义某行内容颜色属性: #define COLOR_DEFAULT 0 //默认颜色 #defin ...
- 改进duilib的richedit控件的部分功能
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41208207 如果要使用透明异形窗体功能,首先要改进duilib库让他本 ...
- 修复duilib CEditUI控件和CWebBrowserUI控件中按Tab键无法切换焦点的bug
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41556615 在duilib中,按tab键会让焦点在Button一类的控 ...
- 修改Delphi 10.1.2 edit控件在android的复制、剪切和粘贴样式
Delphi 10.1.2 edit控件在android默认的复制.剪切和粘贴样式太丑,经悟能-DelphiTeacher的提示,用最简单的代码修改后稍有改观. 默认的样式: 修改后的样式: 修改FM ...
- Delphi在Listview中加入Edit控件
原帖 : http://www.cnblogs.com/hssbsw/archive/2012/06/03/2533092.html Listview是一个非常有用的控件,我们常常将大量的数据(如数据 ...
- mfc Edit控件属性
设置Edit控件属性 窗口创建顺序 初始化Edit控件数据 一.设置Edit控件属性 .Align Text :Right 二.窗口创建顺序 CMywindowdlg: 窗口构造函数 OnCreate ...
- .NET Framework的属性类对控件的支持功能
ToolBoxItem 此属性为类特性.属于工具箱属性,可以设置当前控件是否在工具箱中显示,以及所在工具箱项的类型名称等信息.默认生成的控件都显示在工具箱中. 更多设计时属性介绍: 4.3 属性的 ...
随机推荐
- Android 5.0新特性了解(一)----TabLayout
1.在2015年的google大会上,google发布了新的Android Support Material Design库,里面包含了几个新的控件,其中就有一个TabLayout,它就可以完成Tab ...
- Envelope对象介绍
Envelope也称包络线,是一个矩形区域,是每个几何形体的最小外接矩形.每个Geometry都拥有一个Envelope,包括Envelope自身. 它定义了XMax,XMin,YMax,YMin,H ...
- MVC Controller弹窗的几种方式
MVC3 Controller弹窗的几种方式 return Content("<script language='javascript' type='text/javascript ...
- Silverlight ModelView中调用UI进程
Silverlihgt: Deployment.Current.Dispatcher.BeginInvoke wpf: App.Current.Dispatcher.Invoke
- C++字符串和string类介绍
一.C风格字符串 ◆ 1.字符串是用字符型数组存储的,字符串要求其尾部以'\0'作为结束标志.如: char string[ ]="C++ programming language&q ...
- 为什么super()和this()调用语句不能同时在一个构造函数中出现的解释
我想这应该是Java构造函数的一种机制吧,首先以子类和父类为例.当你创建一个子类的实例时,首先会调用父类的构造函数,然后再调用子类的构造函数,如果父类中没有缺省构造函数,则必须再子类的构造函数中显示的 ...
- 设置Tab键为四个空格
https://my.oschina.net/xunxun10/blog/110074
- Android 常用工具类之DeviceInfoUtil
public class DeviceInfoUtil { private static WifiManager wifiManager = null; // wifi是否已连接 public sta ...
- Linux软件管理——yum命令详解
yum install <softwarename> #安装指定软件 yum remove <softwarename> #卸载指定软件 yum update <soft ...
- PHP上传文件详解 错误提示
首先在php.ini里配置上载文件.有以下几个重要的配置单: 选项 默认值 说明 post_max_size 8M 控制以后的POST请求的最大规模.必须大于upload_max_filesize选项 ...