希望能够选中图形后,显示图形四周的句柄,
然后可以用鼠标拖动。
CRectTracker可以,但是我只会用对一个图形使用,
如果是要对每一个图形都可以这样做
是要对每一个图形都设置一个CRectTracker对象吗?
请教各位!

解决方案 »

  1.   

    to csdn_cht(欣欣兽):
    是一个图形的绘制编辑平台,当然每个图形都是一个对象实体,
    但是我的问题是对于这些对象,在拖动的时候要实现橡皮筋的效果(如题中所述),
    是不是可以用CRectTracker类,如果可以用的话,
    是不是每个对象都要设置一个相应的CRectTracker对象,
    还是整个文档设一个就够了?
      

  2.   

    确实是每个都需有一个
    至少我写的程序是这样的
    你可以这样
    定义一基类CBase里边有三个变量,其中橡皮筋类CRectTracker m_RectTracker;其它的每个元件都是从这个类派生出来的有时需要选中多个,或者拖动多个,所以必须每个都有一个
      

  3.   

    楼上两位,到底该听谁的啊?
    Mackz(在相互):能不能把具体方法说一下?
      

  4.   

    建议楼主看一本书:<<VC实战演练>>虽然是演练,但里边文章也已达到中等水平,我的第一个
    程序用的是橡皮筋,第二个自己写图形拖动柄了,用橡皮筋不是很灵活,特别能自己对元件组合时。
      

  5.   

    楼上诸位,所谓的自己写,是不是像Drawcli那个程序中所使用的那样呢?
      

  6.   

    偶就是自己写的,不过我想还是用系统的方便一些,偶当时是因为不知道有CRectTracker这个类才自己动手的偶想你所说的情况还是只有一个就够了,你可以对每个图形指定一个CRect对象,然后用CRect类的求和方法求得所有这些CRect对象的总的CRect对象,从而构造一个CRectTracker对象,不知道你觉得怎么样?反正偶是这样做的
      

  7.   

    drawcli里也有实现画图,然后拖动,哪位能解释一下,指点迷津
    初学者,好多不是很懂啊,谢谢了
      

  8.   

    那个DrawClip中的可以,不过它的代码连基本的转动功能,整体复制功能都没
    屏幕闪烁太厉害,不过我开始时就是看的他,你知道原理之后,就可以自己随心所欲
    的写自己的绘图方法了,及拖动方法,甚至抛弃它的橡皮筋,它把每个元件的区域都保存起来,当鼠标点击时,根据鼠标点与元件区域相比较,判定是否选中,拖动时是利用橡皮筋的移动,而元件的位置是相对于橡皮筋来确定的,拖动处建议不要用它的
    MSG msg
    ...
    这样需先选中再点击拖动,不太好,直接在LButtonDown()及MouseMove等事件中处理
      

  9.   

    abownii(清晨气息) ( ) 
    楼上诸位,所谓的自己写,是不是像Drawcli那个程序中所使用的那样呢?
    --------------------------------------------------------------------
    你这句话是什么意思,你不看别人的源代码,你能学会写程序吗?我当初写程序
    时是从这个DrawCli看的,不过现在我的程序已经远远超出了它的。现在用VC的哪
    个不是从最简单的Hello 开始的
      

  10.   

    zhaogaojian(米柑年成) :
    谢谢先,我也在参考Drawcli的方法,
    不过我想问不使用那种方法,用CRectTracker的方法应该怎么用的,
    如题目中所述。
      

  11.   

    Drawclip用的应该就是CRectTracker吧,要么自己做
    你可以参考EastDraw的代码
      

  12.   

    提醒:EastDraw的代码风格太差了,没法阅读,建议你看《vc++.net 开发autocad系统》,里面对你所需要的功能做了详尽的讲解。