MFC 设置编辑框风格
来源:互联网 发布:淘宝零食店怎么开 编辑:程序博客网 时间:2024/05/04 21:27
MFC编程中有时需要限制字符输入的类型,长度等。还可以设置不同颜色来提示。
1.首先需要自建一个新的类,插入--类--然后自己新建一个类,可以取名为CNewEdit,基类为CEdit。
2.在类视图里找到CNewEdit,然后为它添加WM_CHAR事件。添加如下代码
if((nChar>=0x30&&nChar<=0x39)||nChar==0X08){CEdit::OnChar(nChar, nRepCnt, nFlags);}
这样就限制新的类只能输入数字和回车了,也可以设置成16进制等等。
将新类的头文件添加到Dlg的cpp文件中。
3.为控件添加控制变量
打开类视图,找到添加的编辑框ID,然后为它添加变量如m_MyEdit,变量类型选择新建的类CNewEdit,2005以上版本需要自己手动输入,下拉框中没有,然后策略那里选择控制变量。这样重新编译后编辑框就只能输入数字了。
4.限制输入长度
在初始化函数中添加如下代码
m_MyEdit.LimitText(10);
这样编辑框就只能输入10个字符了
5.输入的字符颜色
为dlg添加OnCtlColor事件
HBRUSH CMy_PCSCDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: Change any attributes of the DC here// TODO: Return a different brush if the default is not desiredreturn hbr;}
然后在里面添加代码
if((pWnd->GetDlgCtrlID() == IDC_EDIT_UART)){pDC->SetTextColor(RGB(255,0,0));}
这样输入的字符就是红色了。
也可以用标志位来实现颜色变换
switch(Result_Color){case BLACK:if(pWnd->GetDlgCtrlID() == IDC_STATIC_RESULT){pDC->SetTextColor(RGB(0,0,0));pDC->SelectObject(&m_font);}break;case GREEN:if(pWnd->GetDlgCtrlID() == IDC_STATIC_RESULT){pDC->SetTextColor(RGB(0,255,0));pDC->SelectObject(&m_font);}break;case RED:if(pWnd->GetDlgCtrlID() == IDC_STATIC_RESULT){pDC->SetTextColor(RGB(255,0,0));pDC->SelectObject(&m_font);}break;default:break;}
这样在程序中更改Result_Color的值后再写入新的数据就会是新的颜色了。
- MFC 设置编辑框风格
- MFC设置编辑框字体大小
- MFC风格设置
- mfc设置默认编辑框内容
- MFC 获取,设置编辑框的值
- mfc 编辑框背景透明设置
- MFC窗口风格的设置
- MFC Ribbon风格编辑框的使用和WebBrowser执行JavaScript代码
- mfc中使用CEdit为编辑框设置字体
- MFC中将CEdit设置光标当前位置在编辑框最后
- 编辑框控件的风格
- 编辑框(Edit)样式风格
- MFC之设置ListCtrl控件的风格
- VS2010-MFC下控件Win7风格设置
- MFC编辑框控件
- MFC编辑框使用方法
- MFC编辑框字体
- MFC编辑框
- 研究项目: JBoss架构分析
- 第一次写CSDN博客
- linux下简单的TCP服务端与客户端进行网络通讯的程序
- Bar Codes
- 全文信息检索lucene框架深度体验
- MFC 设置编辑框风格
- java调用wcf
- SQLiteDatabase
- 织梦dedecms模板自带的网站地图怎么优化呢?
- OPENSSL库的使用-DES篇
- GIT安装和配置
- [libxml2]_[C/C++]_[使用libxml2读取内存的xml片段]
- ios下cocos2dx弹出键盘后如何让layer继续响应touch事件
- 终于搞定android驱动USB摄像头了!