CDC为啥只提供了DrawDragRect函数
CDC为什么只提供了DrawDragRect函数
mfc提供的CDC::DrawDragRect函数可以实现矩形的拖拽效果。
既然提供了矩形的,为什么不提供相应的椭圆、曲线等图形的拖拽函数呢?
提供CDC::DrawDragRect的目的到底是什么呢?
如果要实现下面的拖拽效果,有现成的接口吗?

------解决方案--------------------
可以看看CRectTracker类
------解决方案--------------------
CRectTracker类允许一个项被显示,移动,以不同的方式改变大小。虽然CRectTracker类是设计来支持用户以图形化界面与OLE项交互的,但是它的使用不仅限于支持OLE的应用程序。它可以使用在任何需要用户界面的地方。
这个类能很好的满足你
------解决方案--------------------
其它控件为什么不实现呢?
我觉得因为要么可以使用这个矩形达到目的, 比如椭圆, 它是有外切矩形的, 用矩形足以实现椭圆的拖放.
要么就是很难实现统一接口. 比如曲线, 因为曲线种类太多, 仅是拖放到是可以使用矩形实现, 但如果是涉及到缩放,则不能有统一的方式了.
------解决方案--------------------
现在做的界面设计器上边就是用了CRectTracker类,可以实现拖动,平移,八个方向调节
mfc提供的CDC::DrawDragRect函数可以实现矩形的拖拽效果。
既然提供了矩形的,为什么不提供相应的椭圆、曲线等图形的拖拽函数呢?
提供CDC::DrawDragRect的目的到底是什么呢?
如果要实现下面的拖拽效果,有现成的接口吗?
------解决方案--------------------
可以看看CRectTracker类
------解决方案--------------------
CRectTracker类允许一个项被显示,移动,以不同的方式改变大小。虽然CRectTracker类是设计来支持用户以图形化界面与OLE项交互的,但是它的使用不仅限于支持OLE的应用程序。它可以使用在任何需要用户界面的地方。
这个类能很好的满足你
------解决方案--------------------
其它控件为什么不实现呢?
我觉得因为要么可以使用这个矩形达到目的, 比如椭圆, 它是有外切矩形的, 用矩形足以实现椭圆的拖放.
要么就是很难实现统一接口. 比如曲线, 因为曲线种类太多, 仅是拖放到是可以使用矩形实现, 但如果是涉及到缩放,则不能有统一的方式了.
------解决方案--------------------
现在做的界面设计器上边就是用了CRectTracker类,可以实现拖动,平移,八个方向调节