用Image控件作为画板画图时如果出现ScrollBar坐标定位有问题,请进!(100分)

  • 主题发起人 主题发起人 hb207
  • 开始时间 开始时间
H

hb207

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TImage作为画图区域,在其上自动生成TImage控件对应不同对象,并在区域上画
直线连接控件,当生成的控件太多导致画图区域无法放下时出现ScrollBar增大画图
区域,此时我用坐标来定位控件以及直线时出现错误(即坐标已经不正常),TImage增大时
并没有引起画图区域变大(即并没有引起坐标系变化),x范围仍是0-TImage.width,y范围
是0-TImage.height。具体错误举例:比如我把生成的控件(TImage)拖到原有最大区域外,
此时出现ScrollBar,我在控件的各个顶点周围画小正方形代表获取焦点,此时那些小正方
形不在正常位置而是在控件原来位置的各个顶点上画出来。请问如何解决这个问题?谢谢!
 
因为改变Image1的width和height以后,画布区域并没有改变。所以也必须改变Image1.Picture.bitmap.Width
和Image1.Picture.bitmap.Heigh,因为你必须重新给IMAGE所用的BITMAP分配空间

在你改变过IMAGE尺寸的代码以后加一句
image1.picture.bitmap.width=image1.width;
image1.picture.bitmap.height:=image1.height;
就可以解决问题了。

t
 
你的编程思路也许有一些问题,我虽然没有仔细看你的描述,至少应该先在内存中画图,
画完后再显示出来
 
to yy2001:能具体谈谈如何在内存中画图然后再显示出来吗?谢谢
 
to zyg_zm:我现在才发现原来我并没有改变画板(TImage)的大小,我只是将画板TImage
放置在一个TScrollBox上,当时拖动控件看到的TImage变大只是错觉而已。看来现在的工作
更多了,我如何在拖动控件时同时改变画板(TImage)的大小(同时有ScrollBar出现),
就是达到我问题所描述的那种效果?请指教,谢谢!
 
就是象在DELPHI编辑窗体界面时如果不够空间显示某控件自动在容器外添加滚动条的效果
 
解决了,谢谢各位
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
771
import
I
I
回复
0
查看
692
import
I
后退
顶部