duilib : 限制CRichEditUI输入的字数和行数
来源:互联网 发布:软件产品类别 编辑:程序博客网 时间:2024/05/16 15:51
/// 限制CRichEditUI输入的字数和行数/// 定义/// 限制richEdit输入内容最多为3行,总共120个字符, 最后一行最多允许输入40个字符/// 将 DuiLib::CRichEditUI 的滚动条都禁了,/// 将 DuiLib::CRichEditUI 显示区域在xml中指定的比指定字体输入3行要高一些/// 防止滚动条出现,看起来向一个普通的Edit一样#define RICH_EDIT_INPUT_LINE_MAX 3/// 用来限制行数,防止一直输入字符,到了最大行的下一行#define RICH_EDIT_INPUT_CHAR_MAX_ON_LAST_LINE 20#define RICH_EDIT_INPUT_CHAR_MAX 120CRichEditUI * m_richEditNote; ///< 备注/// 初始化m_richEditNote->EnableScrollBar(false, false);m_richEditNote->SetLimitText(RICH_EDIT_INPUT_CHAR_MAX);/// 消息处理LRESULT CMyDlg::WndMessageProc(UINT uMsg, WPARAM wParam, LPARAM lParam){ switch (uMsg) { case WM_KEYDOWN: if (m_richEditNote->IsFocused()) { if (VK_RETURN == wParam) { /// >= MaxLine,不允许回车 if (m_richEditNote->GetLineCount() >= RICH_EDIT_INPUT_LINE_MAX) return S_FALSE; } else if(GetAsyncKeyState(VK_CONTROL) && ((wParam == L'C') || (wParam == L'V'))) { /// 禁止在richEdit中拷贝粘贴 EmptyClipboard(); return S_FALSE; } } break; case WM_CHAR: { if (m_richEditNote->IsFocused()) { /// > MaxLine,不允许输入字符 if (m_richEditNote->GetLineCount() > RICH_EDIT_INPUT_LINE_MAX) return S_FALSE; /// 最后一行有字数限制,防止在最后一行,不断输入字符,换到下一行 if (m_richEditNote->GetLineCount() >= RICH_EDIT_INPUT_LINE_MAX) { /// 检查每一行输入是否超过 std::wstring strContentCurLine = m_richEditNote->GetLine(RICH_EDIT_INPUT_LINE_MAX - 1, RICH_EDIT_INPUT_CHAR_MAX_ON_LAST_LINE + 1); if (_tcslen(strContentCurLine.c_str()) > RICH_EDIT_INPUT_CHAR_MAX_ON_LAST_LINE) return S_FALSE; } } } break; /// ... default: break; } return __super::WndMessageProc(uMsg, wParam, lParam); }
最坏的情况是: 用户每一行输入一个字符或回车,然后转到非最后一行,不断的输入字符,那样就比定义的最大行数多一行。
只要界面上的richEdit背景区域多留一行的高度即可.
0 0
- duilib : 限制CRichEditUI输入的字数和行数
- DuiLib : 限制CRichEditUI输入的Demo
- 关于DuiLib的CRichEditUI控件在win8下输入中文乱码的解决方案
- 关于DuiLib的CRichEditUI控件在win8下输入中文乱码的解决方案
- TextView的字数行数限制显示
- 限制textarea的输入字数
- 限制textarea的输入字数
- JS限制输入的字数
- 限制 textarea 的输入字数
- 限制textarea的输入字数
- 限制 textarea 的输入字数
- 限制EditText的输入字数
- 限制UITextField的输入字数
- 限制UITextView的输入字数
- 限制文本框的输入字数
- 限制UITextField输入的字数
- javascript限制和统计文本输入字数的解决方案
- iOS基于UITextView的字数限制和输入量显示
- 教你一招:在多个Activity之间传递对象,不用Bundle,Intent.putExtra
- 资料-MPEG
- 免费代理服务器软件网站翻墙软件原理及使用应用-自己主机做网站服务
- 替换空格
- (未完成)学习方法(二)
- duilib : 限制CRichEditUI输入的字数和行数
- Oracle 数据库分页查询两种方法
- android 内存泄漏分析技巧
- 五大常用算法之分支定界法
- Erlang程序设计
- iOS UIAutomation关于等待loading过程的处理(针对indicator)
- \r、\n与\r\n
- 消息处理函数LRESULT CALLBACK WndProc 和应用程序主函数int WINAPI WinMain
- 有向图的十字链表存储形式