弹出一个子窗口。上面的初始化图形是三个端点连成一条折线,就如同一个少一条边的三角形。    鼠标在折线的三个端点区域内(我定了一个范围,在三个端点处各画了一个小圆圈)按下,任意拖动,即可随意拉伸改变折线的形状。    因为子窗口内的折线可任意改变形状,折线的范围可能超出子窗口的原始大小,所以需要子窗口根据折线形状对应改变自身大小。    请问各位有什么好的思路。谢谢!
        

解决方案 »

  1.   

    这个不难吧,捕获WM_MOUSEMOVE 事件,用GetKeyState 获得鼠标左键按下状态 如果是处于按下而且鼠标还在移动 那么就向窗口发送 WM_SIZE消息就可以了啊
      

  2.   

    将每个点看作是一个对象Point,这个对象实则是一个小圆,有内置属性:圆心坐标,以及半径
    当鼠标落在某个Point对象并按下左键时,认为用户在拖放某个点,其后跟踪鼠标活动WM_MOUSEMOVE,每变化一次就擦除原来Point对象到其他对象的线条,并根据被拖动对象的新坐标生成新的线条,要是鼠标坐标落在窗口之外,使用SetWindowPos动态放大窗口