编辑框若无内容失焦点时呈灰色 显示提示,获取焦点提示消失,文字显示蓝色

1、对话框初始化时,设置提示内容。

       CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_ID);

       pEdit ->SetWindowText(_T("角色帐号"));

       CComboBox *pComboBox = (CComboBox *)GetDlgItem(IDC_COMBO_SERVER);

       pComboBox ->SetWindowText(_T("服务器"));


2、WM_CTLCOLOR消息。

HBRUSH CClassDlg::OnCtlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor)

{

HBRUSH hbr = CDialogEx::OnCtlColor(pDC,pWnd,nCtlColor);

        CString strText = "";

        if(strcmp(strText,_T"角色贴"))==0 || strcmp(strText,_T("服务器"))==0)

pDC->SetTextColor(RGB(192,192,192));                  //灰色

        else

pDC->SetTextColor(RGB(0,0,255));   //蓝色

         return hbr;

}

3、为控件添加EN_KILLFOCUS和EN_SETFOCUS消息。

void CClassDlg::OnEnSetfocusEditID() //如果控件获取焦点

{

CString strText = "";

CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_ID);

        pEdit ->GetWindowText(strText );

if(strcmp(strText,_T("角色帐号"))==0)

pEdit->SetWindowText("");

}

void CClassDlg::OnEnKillfocusEditID() //如果控件失去焦点

{

CString strText = "";

CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_ID);

        pEdit ->GetWindowText(strText );

if(strText.IsEmpty())

pEdit->SetWindowText(_T("角色帐号"));

}




你可能感兴趣的:(GM客户端)