我正在vb6程序中开发新的UI元素。我需要将图片动态放置在2种不同颜色的背景线上:
我尝试了两种不同的想法,但是它们都不起作用:
想法1
我使用了图像控件并将图像分配给该控件。然后,将left,top,with和hight属性设置为要放置图像的值。图像放置在正确的位置,但不在框架中,而是在背景中(在彩色框架之后)。
谁能告诉我如何将图像控件放置在前景中(绿色框上)?我需要通过运行程序中的代码动态放置这些图像控件。
想法2
在第二种解决方案中,我尝试使用Picturebox而不是图像控件。 Picturebox可以放置在彩色背景(框架)上,没有任何问题。
这里的问题是,加载的图片必须缩放到图片框图片属性的大小。图片通过以下代码加载到图片框:Picture.Picture = LoadPicture("F:\img.JPG")
有人知道我如何将img缩放到图片框大小吗?
任何人都可以帮助我跟进其中一种解决方案。原则上,如果可以控制将图像控件放置在框架中的前景,则最好使用图像控件。
答案 0 :(得分:2)
我猜想在创建图像控件后,您要将其移至Frame。如果是这样,这就是控件位于框架后面的原因。您确实希望图像位于框架内。这样做的关键是设置Container
属性。
Dim img As Image
Set img = Me.Controls.Add("VB.Image", "Image1")
If Not img Is Nothing Then
img.Move 200, 200, 400, 400
img.Stretch = True
img.Picture = LoadPicture("your image.jpg")
Set img.Container = Frame1
img.Visible = True
End If