VC 编辑框 改变背景、字体、文本颜色、长度限制

本文介绍了如何在VC++中对编辑框进行操作,包括设置输入长度限制,判断汉字,改变字体、大小,以及调整背景和文本颜色。通过SetLimitText函数可以限制编辑框的字节数或字符数,IsDBCSLeadByte函数用于汉字判断。同时,通过创建CFont对象和CBrush对象,可以改变编辑框的字体和背景颜色。最后提到了通过派生Edit控件来实现特定字符的输入限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1。长度限制

OnInitDialog()中:

m_edit1.SetLimitText(8);                           //m_edit1为编辑框的成员变量

或者

CEdit*pEdt=(CEdit*)GetDlgItem(IDC_EDIT1);

pEdt->SetLimitText(8);                              //限制编辑框输入长度为8字节

说明:在使用多字节字符集且不使用XP风格时,SetLimitText设置的是最大字节数;在使用Unicode字符集或使用XP风格时,SetLimitText设置的是最大字符数。

2。汉字判断

方法一、

                                  //方法不好,只能判断有没有汉字

方法二、

 

3。字体及大小

定义一全局变量或成员变量CFont   font;                                        //不要定义成局部变量,否则没效果

CEdit*pEdt=(CEdit*)GetDlgItem(IDC_EDIT1);

font.CreatePointFont(266,"Arial");

pEdt->SetFont(&font);

4。背景及文本颜色

定义一成员变量CBrush m_brush;

OnInitDialog()中进行初始化工作m_brush.CreateSolidBrush(RGB(255,0,0));

然后在OnCtrlColor中

 

 

对于nCtlColor的类型,如下:

CTLCOLOR_BTN   Button control

CTLCOLOR_DLG   Dialog box

CTLCOLOR_EDIT   Edit control

CTLCOLOR_LISTBOX   List-box control

CTLCOLOR_MSGBOX   Message box

CTLCOLOR_SCROLLBAR   Scroll-bar control

CTLCOLOR_STATIC   Static control

 

派生Edit子类,实现字符限制输入!!!

void CEditChar::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)

 if ((nChar>='A'&&nChar<='Z')||(nChar>='a'&&nChar<='z'))
 {
  CEdit::OnChar(nChar, nRepCnt, nFlags);
 } 
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值