我在对话框上放置了三个static text 控件,我想用按住鼠标左键,拖动,如果这些static text控件在拖动框范围内,则这些static text控件的颜色变为蓝色,以表示选中,请问,我该怎样实现相关功能?有没相关的类来操作static text ?

解决方案 »

  1.   

    需要一个变量说明拖动状态如:bool m_bDrag,然后在LBUTTONDOWN时候给它true,在LBUTTONUP时候给它false;用PtInRect来判断鼠标是否在控件所在的区域内,进行相关的操作。大体思路就是这样,没有专门的类来操作你实现的这个小功能。
      

  2.   

    鼠标按下时用一个CRectTracker对象实现拖动矩形,然后根据这个矩形判断是否和你的对象(控件)相交,如果相交修改某个变量,比如其颜色。控件的颜色表现,可以用WM_CTLCOLOR消息实现,也可以通过自绘实现。