WinCE圆圈消息
//========================================================================
//TITLE:
// WinCE圆圈消息
//AUTHOR:
// norains
//DATE:
// Wednesday 11-April-2007
//Environment:
// EVC4.0 + Standard SDK 4.2
// EVC4.0 + Standard SDK 5.0
//========================================================================
WinCE下的ListView Control和WIN32相较,有个明显的不同就是长按触摸屏或长按鼠标左键,会绘制一个小圆圈.这个小圆圈比较有意思,微软的explorer在实现时,圆圈消失即相当于win32的按下鼠标右键.这个方法很好的弥补了触摸屏无法表示右键的缺陷.
虽然这个方式不错,但如果我们需要用到这个小圆圈,却不能不费点脑子,因为在微软的文档上,只字不提这个小圆圈(或是我没找到?).不过有了spy++,一切都不是难事.^_^
以下是在spy++帮助下完成的截取小圆圈消失后发送的消息代码:
如果需要判断这个小圆圈消息是哪个ListView控件发出的,则代码只需小小更改:
//TITLE:
// WinCE圆圈消息
//AUTHOR:
// norains
//DATE:
// Wednesday 11-April-2007
//Environment:
// EVC4.0 + Standard SDK 4.2
// EVC4.0 + Standard SDK 5.0
//========================================================================
WinCE下的ListView Control和WIN32相较,有个明显的不同就是长按触摸屏或长按鼠标左键,会绘制一个小圆圈.这个小圆圈比较有意思,微软的explorer在实现时,圆圈消失即相当于win32的按下鼠标右键.这个方法很好的弥补了触摸屏无法表示右键的缺陷.
虽然这个方式不错,但如果我们需要用到这个小圆圈,却不能不费点脑子,因为在微软的文档上,只字不提这个小圆圈(或是我没找到?).不过有了spy++,一切都不是难事.^_^
以下是在spy++帮助下完成的截取小圆圈消失后发送的消息代码:
WinProc(HWND hWnd,UINT wMsg,WPARAM wParam,LPARAM lParam)
{
switch(wMsg)
{
case WM_NOTIFY:
{
switch( ( (LPNMLISTVIEW) lParam)->hdr.code)
{
case 1000:
//在这里处理小圆圈消失后的事件
break;
}
}
}
}
{
switch(wMsg)
{
case WM_NOTIFY:
{
switch( ( (LPNMLISTVIEW) lParam)->hdr.code)
{
case 1000:
//在这里处理小圆圈消失后的事件
break;
}
}
}
}
如果需要判断这个小圆圈消息是哪个ListView控件发出的,则代码只需小小更改:
WinProc(HWND hWnd,UINT wMsg,WPARAM wParam,LPARAM lParam)
{
switch(wMsg)
{
case WM_NOTIFY:
{
switch (wParam)
{
case IDC_LIST: //IDC_LIST为某个ListView控件的ID号
{
switch( ( (LPNMLISTVIEW) lParam)->hdr.code)
{
case 1000:
//在这里处理小圆圈消失后的事件
break;
}
break;
}
}
}
}
}
{
switch(wMsg)
{
case WM_NOTIFY:
{
switch (wParam)
{
case IDC_LIST: //IDC_LIST为某个ListView控件的ID号
{
switch( ( (LPNMLISTVIEW) lParam)->hdr.code)
{
case 1000:
//在这里处理小圆圈消失后的事件
break;
}
break;
}
}
}
}
}