博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC限制edit控件的字符输入长度
阅读量:7230 次
发布时间:2019-06-29

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

一.

  1.Edit 控件添加EN_CHANGE事件

 

#define MAX_SIZE                     200 void CMyDlg::OnChangeEditFeed(){    // TODO:  如果该控件是 RICHEDIT 控件,它将不    // 发送此通知,除非重写 CDialogEx::OnInitDialog()    // 函数并调用 CRichEditCtrl().SetEventMask(),    // 同时将 ENM_CHANGE 标志“或”运算到掩码中。    // TODO:  在此添加控件通知处理程序代码    CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT);    CString strContent;    pEdit->GetWindowText(strContent);    DWORD dwNum = 0;    dwNum = WideCharToMultiByte(CP_UTF8, 0, strContent, -1, NULL, 0, NULL, NULL);    if (dwNum > MAX_SIZE)    {        SetDlgItemText(IDC_EDIT_FEED, strContent.Left(MAX_SIZE));        pEdit->SetSel(strContent.GetLength(), strContent.GetLength());//重设给光标设置位置 指向最后               }}

 

2.CString 获取中文,字母及数字的字节数

 转载:

CString text = _T("中国12ab");int len1 = text.GetLength();//获取的是字符数量,值为 6int len2 = CStringA(text).GetLength();//获取的是字节数量,值为 8

 

二.MFC基于对话框程序——固定主对话框大小

     1. 用记事本打开.rc格式文件

     2. 找到主对话框的相关信息,例如下面

     IDD_TEST_DIALOG DIALOGEX 0, 0, 320, 200

     STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME

     3. 将“| WS_THICKFRAME”去掉,保存重新编译即可

你可能感兴趣的文章
我的友情链接
查看>>
tbox中vector容器的使用
查看>>
一个简单的PHP笔试题
查看>>
firebug重新载入页面获取源码
查看>>
我的友情链接
查看>>
5月末周中国.COM总量净增1.2万个 美国净减2.6万个
查看>>
Elasticsearch数据建模-关联查询
查看>>
我的友情链接
查看>>
CentOS 下安装 Lnmp
查看>>
redis系列:通过日志案例学习string命令
查看>>
世界冠军之路:菜鸟车辆路径规划求解引擎研发历程
查看>>
Linux-sendmail
查看>>
关于BSTR的困惑
查看>>
什么时候使用HashMap?它有什么特点?
查看>>
框架名
查看>>
编译安装PHP
查看>>
插入透明背景Flash的HTML代码
查看>>
无标题
查看>>
我的友情链接
查看>>
Web前端入门学习(3)——CSS选择器
查看>>