想给个对话框做成SDI的风格
里面的一个树控件可以像CTreeView那样子可以通过鼠标调整大小,应该怎么做?
谢谢大家

解决方案 »

  1.   

    一种思路:1,从控件继承,写一个要改变大小的派生类。2,添加WM_SETCURSOR.当鼠标进入控件时这个消息被激发。
    判断:HTBORDER == nHitTest 的时候,改变鼠标的形状,就是拖动是鼠标的形状,::SetCursor.3,添加WM_NCLBUTTONDOWN处理。最好添加SetCapture,然后设置一个标志,表示要拖动控件。4,添加WM_LBUTTONUP的处理。ReleaseCapture,取消标志,表示拖动控件结束。5,添加WM_MOUSEMOVE的处理。根据上面设置的标志,用SetWindowPos带SWP_NOZORDER标志设置窗口新的位置和大小。拖动大小的时候最好用一个自定义消息通知父窗口,用某个自定义标志控制,增加扩展性。6,还想到一点,就是控件要有WS_EX_STATICEDGE标志。可以在PreCreateWindow中改变。