环境
系统:WinCE 6.0
编译器:VS2008
问题
给按钮添加BN_DOUBLECLICKED消息成功。
void CTestDlg::OnBnDoubleclickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
}
编译器时,报如下错误。
error C2065: “BN_DOUBLECLICKED”: 未声明的标识符
这,让我感到惊讶???
原因
This problem is due to a bug in the Windows CE operating system.
翻译:这个问题是由于Windows CE操作系统中的一个错误。
解决方法
使用BN_CLICKED来代替BN_DOUBLECLICKED,说白了,就是使用单击代替双击。
static BOOL s_bLastClicked = TRUE;
static DWORD s_dwTickCount = 0;
if (s_bLastClicked)
{
DWORD dwTickCount = GetTickCount();
if ((dwTickCount - s_dwTickCount) < 500) //Last click less than 500ms?
{
s_bLastClicked = FALSE; //Was double-clicked, don't test next time...
//Assume a double click...
//Do your double-click code here...
}
s_dwTickCount = dwTickCount;
}
else
{
s_bLastClicked = TRUE;
}
参考:https://www.infania.net/misc/kbarchive/kb/247/Q247323/index.html