鼠标移动到这个控件,控件边框颜色改变!如何实现

解决方案 »

  1.   

    1。自绘
    2。派生这个控件,响应鼠标移动函数,在里面取得DC,用dc.MoveTo和dc.LineTo来画线或直接用矩形函数来画,但不知道行不行
      

  2.   


    添加OnMouseMove在OnMouseMove先得到控件大小 
    GetClientRect(&rect);
    然后定义一个
    CBrush m_brush(RGB(0,255,0));然后CClientDC dc(this);
    用FrameRect函数画边框
    dc.FrameRect(&rect,&m_brush);
      

  3.   

    这个最关键的是鼠标进入控件后要SetCapture,否则鼠标移出的消息是没有办法监测到的;而且要防止重入,先用GetCapture判断一下。当然也可以用_TrackMouseEvent注册一个鼠标跟踪事件去处理消息。
      

  4.   

    自绘,用cpen,往上画就行。这一点思路你可以去看一下我的博客,有这个的。字竖着显示。你可以看一下。