凡是往容器中添加控件,都是用AddObject()或NewObject()。比如你的容器是Container1,则用Container1.AddObject("Image01", "Image")动态添加控件,第一个参数是控件的Name,字符串,第二个参数是控件的基类名。添加之后,就可以对Container.Image01进行操作,比如:
程序代码:
ThisForm.Container1.AddObject("Image01", "Image")
WITH ThisForm.Container1.Image01
.Picture = "Picture01.JPG" && 设定控件的图片来源
.Stretch = 1 && 图片保持比例缩放
.Height = 200 && 控件Image01的尺寸
.Width = 200
.Top = 10 && 控件Image01左上角的坐标,相对其容器,即Container1
.Left = 10
.Visible = .T. && 动态添加的控件默认都是不可见的,必须设为可见
ENDWITH
注意:精确定位可用容器的尺寸和此处设定的控件尺寸计算,都是可算的!比如,要图片放在容器的底部离地5像素处,可以写:
.Top = .Parent.Height - .Height - 5
这就是运行时动态添加控件的基本方法。留意AddObject()中新控件的变量名是用字符串传入的,也就意味着,这个字符串是你可以计算出来,它的命名可以有规律(就如你平常的Form1、Form2),也可以是数组。只要你能循环,想添加多少个控件都没问题。
使用Stretch属性缩放图片,是原图缩放,不会对图片的精度作修改。
[
本帖最后由 TonyDeng 于 2011-8-24 12:11 编辑 ]