MFC編輯框如何改變字型的大小
阿新 • • 發佈:2019-01-26
1。長度限制
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
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