树型控件,怎么能做到自动调整其边界呢?
就是鼠标点中控件的边界后,可以自由拖动边界以改变控件的大小
该怎么做?
[解决办法]
要自己派生控件类或者用SetWindowLong把控件的WindowProc改到自己的函数上。
响应控件的WM_LBUTTONDOWN消息,调用SetCapture捕获鼠标,并调用SetCursor改变鼠标光标形状。
响应控件的WM_MOUSEMOVE消息,根据鼠标位置发送WM_SIZE消息或者用MoveWindow改变控件大小。
响应控件的WM_LBUTTONUP消息,调用ReleaseCapture释放鼠标,并调用SetCursor恢复鼠标光标形状。
[解决办法]
http://www.vckbase.com/document/viewdoc/?id=523
这个里面的例子你看看,适不适合你
[解决办法]
直接接收鼠标的Down和Up事件,然后MoveWindow调整大小不可以吗?
收到鼠标消息后,判断是否是边界(比如在控件的最左边),这里可以设置一个近似值,比如5像素,凡是误差5像素内的都当作边界。
然后判断是那一边,8种方向。
之后就是根据鼠标的移动距离调整控件了。
[解决办法]