如题,此消息中的nHitTest值在不同的位置是否会有变化?
比如Edit框的话在控件边缘是18(即HTBORDER),控件内部是1(即HTCLIENT)。
可是为什么Static和Picture控件却只有1?
是我创建的控件属性设置不合理还是为什么?那么我怎么才可以获得鼠标当前是在控件的边缘上还是内部?
我要实现的目标是当鼠标在控件的边缘时显示带箭头的拖动符号(即IDC_SIZEWE,IDC_SIZENS等)。

解决方案 »

  1.   

    提示:要不自己继承控件,重写一个, 
    要么把空间放到dialog的child里面。在用movewindows对齐。 
    dialog的属性设置为可变动。
      

  2.   

    我就是继承了CStatic,重载了OnSetCursor,但是nHitTest值始终为1.
    控件放到dialog无法实现我要的功能,谢谢了。
    还有另一个问题,我继承CStatic派生出自己的类CMyStatic,重载了WM_NCLBUTTONDOWN消息,为什么不响应?WM_LBUTTONDOWN消息却可以响应。
      

  3.   

    WM_NCLBUTTONDOWN消息是标题栏里面的消息,WM_NC所有这样的消息都是指非客户区的消息,你必须有非客户区才能响应他
      

  4.   

    nHitTest实际上就是WM_NCHITTEST消息的返回值,看你是如何响应这个消息的。