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

2024-12-15 18:27:29
推荐回答(4个)
回答1:

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) ;
}

}

回答2:

无法直接添加。只能通过重载对话框的PreTranslateMessage来实现。
在该函数中截获双击消息,判断鼠标位置位于哪一个按钮之上,然后做不同的处理

回答3:

这个我不懂,还没学到这来

回答4:

说的对