是这样的,我用ACCESS做了张表用"坐标"来存放坐标值
然后利用treeview控间把坐标值分配成节点,并且拖了
个picturebox在form上.
现在我希望鼠标点击节点时候,通过获得的坐标在picturebox
的对应坐标上显示1个圆圈,每次只显示选中的节点的坐
标所对应的圆圈,我的圆圈是用circle画的
我现在的状况是点了1个节点,就显示1个圆圈,当点其他节点
的时候,原来的圆圈不消失,这样越点越多...
后来用picture1.cls,结果怎么点节点都不显示圆圈了...
痛苦ing,郁闷ing,在线等待大哥们的解答啊!

解决方案 »

  1.   

    行呵,你试下下面的代码,不知你代码还做了什么。Private Sub Command1_Click()
        Picture1.Cls
        Picture1.Circle (1200, 2000), 750
    End SubPrivate Sub Command2_Click()
        Picture1.Cls
        Picture1.Circle (1200, 1000), 750
    End Sub
      

  2.   

    pic.autoredraw=true
    还有
    treeview你用的什么事件?最好用mouseup
      

  3.   

    那你不成了血本无归了吗.
    用pic.refresh试试.
      

  4.   

    按照你所说的:“鼠标点击节点时候,通过获得的坐标在picturebox的对应坐标上显示1个圆圈,每次只显示选中的节点的坐标所对应的圆圈”,也就是说每次只显示被点击节点所对应的那个圆,其它的节点的圆是不应该显示的。所以你在画新的圆之前,应该把上次画的圆抹掉,再显示新的圆。是这个意思吗?否则画面上的圆肯定越来越多。试试下面的例子:
    Dim X As Integer
    Dim y As Integer
    Dim Radius As IntegerPrivate Sub Form_Load()
      Picture1.AutoRedraw = True
      X = 5000
      y = 3000
      Radius = 1000
    End SubPrivate Sub Picture1_Click()
      Picture1.Circle (X, y), Radius, Picture1.Bcolor      '抹掉
      
      X = X - 100                                 '取得新的坐标点
      y = y - 100
      Radius = Radius - 100                       '取得新的半径
      
      Picture1.Circle (X, y), Radius, Picture1.ForeColor   '画新的图形
    End Sub