前几天就在博客的碎语里说过重载CEdit类,好累人~ 后面这几天更让我抓狂到极点。
之前就看到网上有人说直接重载CEdit很不灵活、很麻烦,还不如自己写个CEdit类。当时觉得那样的话,就只能动态创建文本框,就不能拖控件了(不知道这种说法对不)……
从昨天下午开始解决最后几个bug,可是到今天中午一点进展都没有~
对于解决不了的bug,我把相应的整块功能都取消了(好心痛 ~ )
未实现的功能:
- 文本框背景图像(现在只实现了背景色)
- 实现不了圆形密码(设置不了UNICODE字符: ·)
- 鼠标滑过文本框变大,离开时变小,不能擦除多余图像
- 不能设置密码模式的灰色文字提示
放出这个0.9的版本,实现的效果(见图)(下载源码,请到页面底部
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | /***************************************************************************/ /* 类名:CAdvEdit */ /* (C)CopyRight www.cguage.com */ /***************************************************************************/ ///////////////////////////////////////////////////////////////////////////// //基类:CEdit //功能:实现了3D圆角编辑框,可自定义字体大小、颜色,边框圆角大小、边框颜色等,可以 //自定义光标,设置多种鼠标滑过效果 //作者:C瓜哥 // (Email: tangcraig@gmail.com QQ: 1019714877 blog: www.cguage.com) //版本:V0.9(2010年7月12日15:32:41) //主要方法: // - 设置光标 // void SetCursor(UINT nIDCursor); // void SetCursor(LPCTSTR lpszCur); // - 设置鼠标滑过效果 // void SetHoverStyle(int nHoverStyle = FOCUS_DEFAULT, int nHoverFontSize = 0, // COLORREF clrHoverBkgnd = 0, int nHoverBorderThick = 0); // // void SetGrayTipString(CString strTipStr); //灰色文字提示 // void SetBorderCorner(CPoint ptBorderCorner); //设置圆角圆度 // void SetTextColor(COLORREF clrText); //设置文字颜色 // void SetBkgndColor(COLORREF clrBkgnd); //设置背景颜色 // - 设置边框颜色 // void SetBorderColor(COLORREF clrBorderNormal, COLORREF clrBorderHover); // - 设置阴影颜色 // void SetShadowColor(COLORREF clrInnerShadow, COLORREF clrOutterShadow); // - 设置字体及大小 // void SetFont(int nPointSize, LPCTSTR lpszFaceName); ///////////////////////////////////////////////////////////////////////////// |
感觉好累~实现过程,请大家下载源码研究下,我注释得相当充分,应该很容易看清楚
————————–
附件下载
附件下载



c瓜哥v5
怎么在我这刷新有问题呢