各位大师,我现在有一个图像里面有几百个文字和上千个点,如何才能用鼠标点击任意一个文字可以用鼠标拖动。如果用控件好像会占用较大内存,但不用控件就没有办法控制它,有没有比较好的办法。

解决方案 »

  1.   

    楼上讲得很对。
    其实Delphi中的DrawGrid,也就是StringGrid的基类,就是这样做的啊。
    它每个Cell的显示,其实都是没有控件的,但是进入每个Cell都有编辑器Edit。所以,最好的方法,就是每种图元各有一个控件,然后Paint的时候,调用它向Canvas上画,响应鼠标事件的时候,再显示该类型控件
      

  2.   

    谢谢baiduan,可惜小弟我比较菜,对矢量图形编程没有什么认知,不知道能不能介绍一些,或有什么相关资料可以共享。
      

  3.   

    按Rect范围决定鼠标Point 是否位于区域内,拖动它只要改变X/Y即可。