自动消息映射:直接打开写就行:
void CDEMO12Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
SetDlgItemText(IDC_EDIT_INPUT,_T(" "));
}
手动消息映射:
首先在BEGIN_MESSAGE_MAP(CDEMO12Dlg, CDialogEx)里添加
ON_BN_CLICKED(IDC_BTN2, &CDEMO12Dlg::OnBnClickedButton2)
然后去头文件中声明:
afx_msg void OnBnClickedButton2();
最后去定义函数
void CDEMO12Dlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
SetDlgItemText(IDC_EDIT_INPUT,_T(" "));
}
改变背景颜色,添加消息函数:
BOOL CDEMO12Dlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect;
GetClientRect(rect);
CBrush brush;
brush.CreateSolidBrush(RGB(100,150,200));
pDC->FillRect(&rect,&brush);
return true;
return CDialogEx::OnEraseBkgnd(pDC);
}
在静态文本中显示输入字符个数:
在编辑框的控件事件里选择函数:
void CDEMO12Dlg::OnEnChangeEditInput()
{
// TODO: 如果该控件是 RICHEDIT 控件,它将不
// 发送此通知,除非重写 CDialogEx::OnInitDialog()
// 函数并调用 CRichEditCtrl().SetEventMask(),
// 同时将 ENM_CHANGE 标志“或”运算到掩码中。
// TODO: 在此添加控件通知处理程序代码
HWND hEdit=::GetDlgItem(m_hWnd,IDC_EDIT_INPUT);
int nLen;
nLen=::SendMessage(hEdit,WM_GETTEXTLENGTH,0,0);
TCHAR szBuf[128]={0};
_stprintf(szBuf,_T("已输入 %d "),nLen);
SetDlgItemText(IDC_STATIC,szBuf);
}