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++帮助下完成的截取小圆圈消失后发送的消息代码:
    WinProc(HWND hWnd,UINT wMsg,WPARAM wParam,LPARAM lParam)
    
{
        
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;
                    }

                }

            }

        }

    }

        
        
posted @ 2007-04-13 23:53  我的一天  阅读(190)  评论(0编辑  收藏  举报