您的位置:首页 > 其它

映射消息

2016-05-24 14:15 302 查看


自动消息映射:直接打开写就行:

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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: