如何在点击按钮时获取按钮的ID

Delete1989 2010-07-06 09:57:03
RT
我想要在点击按钮之后把按钮的ID显示出来,请问如何用代码获取按钮的ID?
...全文
623 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhou1xp 2010-07-06
  • 打赏
  • 举报
回复
获取按钮指针,按钮结构中有一个nId,大小写实怎么写的我记不清楚了,自己看下
Eleven 2010-07-06
  • 打赏
  • 举报
回复

BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(WM_LBUTTONDOWN == pMsg->message)
{
CPoint pt;
GetCursorPos(&pt);
CWnd* pWnd = WindowFromPoint(pt);
if(pWnd)
{
TCHAR szName[256] = {0};
::GetClassName(pWnd->GetSafeHwnd(), szName, 256);
if(0 == _tcscmp(szName, _T("Button")))
{
int nId = pWnd->GetDlgCtrlID();
CString strText(_T(""));
strText.Format(_T("ID: %d"), nId);
AfxMessageBox(strText);
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
雪影 2010-07-06
  • 打赏
  • 举报
回复
再多你也必须自己知道,然后转换成字符串转换
Delete1989 2010-07-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tttyd 的回复:]
你写代码的时候应该就知道当前点击按钮的ID啊。
在BENGIN_MESSAGE_MAP、END_MESSAGE_MAP直接有此按钮的ID

你将此ID显示出来就是。
[/Quote]

那如果我有很多按钮,都要有这个功能,能不能用代码获取按钮的ID呢,这样只用写一个函数来添加消息映射就可以了呀
雪影 2010-07-06
  • 打赏
  • 举报
回复
你写代码的时候应该就知道当前点击按钮的ID啊。
在BENGIN_MESSAGE_MAP、END_MESSAGE_MAP直接有此按钮的ID

你将此ID显示出来就是。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧