永发信息网

MFC动态创建的按钮怎么添加双击响应??双击!!!

答案:4  悬赏:20  手机版
解决时间 2021-11-12 12:29
MFC动态创建的按钮怎么添加双击响应??双击!!!
最佳答案
mfc对于非自绘按钮不响应双击事件的,虽然可以通过向导添加也没用。
要处理双击有两个方法:
1、自绘按钮,处理事件,比较麻烦
2、重写父窗口的PreTranslateMessage(MSG* pMsg)截获双击事件,
if(pMsg->message==WM_LBUTTONDBCLK)
{
int nBtnID = GetWindowLong(pMsg->hWnd,GWL_ID);
if(nBtnID >= IDC_BTN_0 && nBtnID<= IDC_BTN_END)
{
OnBTNDBClick(nBtnID) ;
}

}追问编译后提示'hWnd' : is not a member of 'tagMSG'。
pMsg->hWnd这个参数应该怎么填啊?
对按钮的定义是这样的: CButtonST m_Btn[64];
全部回答
说的对
这个我不懂,还没学到这来
无法直接添加。只能通过重载对话框的PreTranslateMessage来实现。
在该函数中截获双击消息,判断鼠标位置位于哪一个按钮之上,然后做不同的处理追问重写父窗口的PreTranslateMessage(MSG* pMsg)截获双击事件,
if(pMsg->message==WM_LBUTTONDBCLK)
{
int nBtnID = GetWindowLong(pMsg->hWnd,GWL_ID);
if(nBtnID >= IDC_BTN_0 && nBtnID<= IDC_BTN_END)
{
OnBTNDBClick(nBtnID) ;
}

}

但是编译后提示'hWnd' : is not a member of 'tagMSG'。
pMsg->hWnd这个参数应该怎么填啊?
对按钮的定义是这样的: CButtonST m_Btn[64];追答hWnd应该为hwnd。去看MSG的成员
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
眼睛不小心进了硼酸溶液,看东西变模糊了,怎
评估对公不对私吗
天津市河北区审计局地址有知道的么?有点事想
he sits between you and me正确吗
昨天客人用餐,今天如何给客人发信息让客人记
为什么中国进不了世界杯?
18XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
衣长68cm,适合多高的人穿?
相册密码
华硕A85VD使用的硬盘的厚度是多少。
石二群案是怎么破的
一个木字旁旁边一个戚怎么读
为什么我和老公吵架,我总愿意说狠话,而且把
对讲机通话距离有多少?有支持5-10公里的吗?
奥迪/大众的钥匙怎么配
推荐资讯
936÷13商是几位
xp系统不能安装360安全卫士怎么回事
这只igbt哪几个数字是上桥臂哪几个数字是下桥
为什么篮球的花纹非要做成那样呢
屮是什么意思
什么是VBA脚本
哥们,你去恒大面试了吗?怎么样?我也是应聘
这题答案分别是不是4.8天和3.6天?谢谢!
涓涓滴滴渗漏多什么意思
登录blued、手机号码密码图形码都对为什么登
肥西的户口能到长丰办理结婚证吗?
开车广西回广东肇庆市怀集县岗坪镇高速出口
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?