OnInitDialog()中:
m_edit1.SetLimitText(8); //m_edit1爲編輯框的成員變量
或者
CEdit*pEdt=(CEdit*)GetDlgItem(IDC_EDIT1);
pEdt->SetLimitText(8); //限制編輯框輸入長度爲8字節
2。漢字判斷
方法一、
CString str="ab你c好。。";
for(int i=0;i<str.GetLength();i++)
{
if( (BYTE)str[i] < 0x80 )
{
MessageBox("非漢字");
}
else//漢字
{
MessageBox("是漢字");
} //方法不好,只能判斷有沒有漢字
方法二、
CString ss="dd你aa今bb真cc";
int i=0;
while(i<ss.GetLength())
{
if(IsDBCSLeadByte(ss[i]))
{
// 是DBCS
i += 2;
AfxMessageBox("漢字");
}
else
{
// 英文
i ++;
AfxMessageBox("English");
}
}
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中
HBRUSH CAsdfaaaaaaaaaDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_EDIT &&
pWnd->GetDlgCtrlID()==IDC_EDIT1)//注意此處的(pWnd->),否則沒效果
{
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(255,255,0));//設置文本背景色
pDC->SetBkMode(TRANSPARENT);//設置背景透明
hbr = (HBRUSH)m_brush;
}
return hbr;
}
對於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