怎样把放在image上的两个radiobutton画线连起来?(300分)

  • 主题发起人 主题发起人 knightlzf
  • 开始时间 开始时间
K

knightlzf

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠:
现在我在image上放上两个radiobutton
我想划一条线把两个radiobutton连起来。
1.怎样才能精确得到这两个radiobutton在form上的具体坐标。
  我想在点选这两个radiobutton的时候获得,不知道具体用那个函数。
2.划线后怎样才能使那条线不会消失。
  我划了线以后,用其他窗口遮住了那条线,那条线就不见了。
  我想应该可以用重画的方法可以解决,但没试过 
3.我怎样把我划的线去掉。
  我不知道具体的函数是怎样。 
因为我比较急,希望各位能给一点程序来参考。谢谢。
 
你在IMAGE的CANVAS上画的LINE,不会消失的!
 
1. RadioButton1.Left 取得横坐标,如果想更精确,取其中心点,可再加上 + (RadioButton1.Width div 2);
纵坐标一样
2. (同上)
3. 要去掉这条线可在原处再画一次,用异或的方式(pen.Mode := pmXor)
 
建议画线用TShape,把Width或Height设成1
这样,只要改变它的Visible属性就可以了
 
我这里是举个例子而已,因为我有很多radiobutton所以最好是通过鼠标获取
radiobutton的坐标,有时候在image上的坐标跟left和top是
有差距的,而且在image上有时候画线会提示错误,不知道为什么。
 
会出现什么错误?
有时候在image上的坐标跟left和top是有差距的
呵呵!
如果你想要用鼠标获取的话也可以呀!
当鼠标按下时保存第一点point
当鼠标放开时,ONMOUSEUP事件中写
image1.canvas.moveto(point1.x,point1.y);
image1.canvas.moveto(x,y);
point1:=point(0,0);
你也可以做个控制开关,RENDER:BOOLEAN;
这样你想画时就可以画不想画就不画:)


 
各位大侠,还是不能解决呀,希望你们能帮帮忙,谢谢!!
 
会出现什么错误?
有时候在image上的坐标跟left和top是有差距的
呵呵!
如果你想要用鼠标获取的话也可以呀!
当鼠标按下时保存第一点point
当鼠标放开时,ONMOUSEUP事件中写
image1.canvas.moveto(point1.x,point1.y);
image1.canvas.moveto(x,y);
point1:=point(0,0);
你也可以做个控制开关,RENDER:BOOLEAN;
这样你想画时就可以画不想画就不画:)
 
给个MAIL我发你演示
 
knightlzf@163.net
 
已发送 收到你的自动回复 又收到该地址不存在的服务器回复 我倒
 
没有受到,可不可以再寄多一次给我呀。
knightlzf@163.net
knightlzf@21cn.com
谢谢!!!
 
发了
knightlzf@21cn.com
 
还没有收到呀,knightlzf@21cn.com
 
我再发
knightlzf@163.net
唉 我建议你申请个peoplemail.com.cn 相当好用
 
收到了,谢谢你。
但你的删除把整个画面都摸掉了,我是要把画的线删除。
还有我想通过鼠标的点击来获取radiobutton的坐标
 
现在又遇到了一个新的问题,就是我在一幅低图上画了一些线条,现在我想把这些线条都
去掉,使image只剩下原来的地图,重新loadfromfile不知道那些线
为什么还在,谢谢!
 
我想把画的线去掉,我用重新loadformfile的方法不知道为什么那些线还在,
因为我一定要有一幅低图的,所以不能用画方块的方法擦掉,不知道用什么方法可以实现?
谢谢!

 
设置画笔异或后重新画一次,可以清除以前画过的内容
Canvas.Pen.Mode := pmXor;
 
接受答案了.
 
后退
顶部