动态加载控件时如何把它们加载到image上
为了界面好看,窗体以image上的图片为背景,但是动态加载控件是加载到窗体的,被图片挡住了,
请问:动态加载控件时如何把它们加载到image上,而不是窗体上
问题点数:50、回复次数:6Top
1 楼rainstormmaster(暴风雨 v2.0)回复于 2006-03-19 22:41:13 得分 40
第1 ,image控件不是容器控件,所以不用考虑将它作为加载控件的容器
第2 控件的zorder序决定了除非加载image和label之类的轻权控件,一般不会出现你说的问题
第3 我猜测你加载的是轻权控件,解决办法:动态加载的控件名.zorder 0
附:
ZOrder 的迷思
ZOrder 拆开以后就是 Z 及 Order,其意义说明如下:
Z:这里是指三度空间中的 Z 座标轴 (注一),而不是指英文字母的第 26 个字母。
Order:排列顺序。
所以 ZOrder 就是指在 Z 座标轴上的排列顺序!
ZOrder 语法如下:
object.ZOrder position
--------------------------------------------------------------------------------
object 选择性引数。物件运算式,用来指定「适用于」清单中的物件。
如果省略 object,则假设具有驻点的 Form 物件为 object。
Position 选择性引数。整数,用以指示 object 相对于同一 object 其它执行个体的位置。
如果 position 为 0 或省略,则 object 放置在 z- 顺序前面 (上方)。
如果 position 为 1,则 object 放置在 z- 顺序后面 (下方)。
--------------------------------------------------------------------------------
在设计阶段选取快显功能表中的「移至顶层」或「移至底层」功能表指令,可以设定物件的 z- 顺序。
ZOrder 用在不同的地方,有二种不同的意义:
1、用于 MDIForm 中的 Child Form 时,指的是每一个 Child Form 的上下位置关系。
2、用于每一个 Form 中的所有控制项时,指的是每一个控制项间的上下位置关系。 (注二)
注一:一般我们的二度平面座标轴是指 X 座标轴 (东西向)及 Y 座标轴 (南北向),
二个轴构成一个平面,再加上垂直的 Z 座标轴,就构成了三度立体空间了!
所以 ZOrder 指的就是物件在垂直的 Z 座标轴上的上下位置关系。
注二:虽然 ZOrder 指的是物件在垂直的 Z 座标轴上的上下位置关系。
但是很多人搞不清楚,为什么他已经设定了 ZOrder 了,为什么在某些控制项中是无效的?
原因是对单一 Form 或 单一 Container 而言,在垂直的 Z 座标轴上又分成三个层次:
最下一层:显示图形方法结果的绘图空间。
中间一层:用来显示图形物件(例如 Image) 和 Label 控制项。
上面一层:显示所有非图形控制项,例如 CommandButton、CheckBox 或 ListBox。
而 ZOrder 只对单一层次内的控制项有效而已!
例如:您如果设定 Label 及 Image 的 ZOrder 是有效的,因为它们都在中间一层!
您如果设定 Label 及 CommandButton 的 ZOrder 是无效的,因为它们在不同层!
最重要的是:不管 ZOrder 如何设定,
在上面一层的物件永远会在中间一层的物件的上方!
在中间一层的物件永远会在最下一层的物件的上方!
Top
2 楼IamDeane(冷冷的风(Deane))回复于 2006-03-19 23:01:31 得分 0
image不是容器怎么会LOAD到他上面呢?建议换成PICTURETop
3 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-03-20 09:03:39 得分 0
为了界面好看,窗体以image上的图片为背景 !@///////////////////
Me.Picture = LoadPicture("Pathname")
Top
4 楼noisy(noisy)回复于 2006-03-20 09:17:02 得分 0
原来是这样,用zorder
顺便问一下,如何将command或label控件,加载到picture上呢?Top
5 楼kxyzjm(kxyzjm)回复于 2006-03-20 10:01:05 得分 0
将command或label控件加载并设置它的父为pictureTop
6 楼rainstormmaster(暴风雨 v2.0)回复于 2006-03-20 10:06:56 得分 10
//顺便问一下,如何将command或label控件,加载到picture上呢?
两种办法
1 用controls.add加载控件时,指定第3个参数为picturebox
2 原样加载控件,然后加一句
Set 动态加载的控件名.Container = Picture1Top




