vb6:将图像控件动态放置在框架上

时间:2018-10-29 09:13:04

标签: image vb6 picturebox

我正在vb6程序中开发新的UI元素。我需要将图片动态放置在2种不同颜色的背景线上:

我尝试了两种不同的想法,但是它们都不起作用:

想法1

我使用了图像控件并将图像分配给该控件。然后,将left,top,with和hight属性设置为要放置图像的值。图像放置在正确的位置,但不在框架中,而是在背景中(在彩色框架之后)。

谁能告诉我如何将图像控件放置在前景中(绿色框上)?我需要通过运行程序中的代码动态放置这些图像控件。

想法2

在第二种解决方案中,我尝试使用Picturebox而不是图像控件。 Picturebox可以放置在彩色背景(框架)上,没有任何问题。 这里的问题是,加载的图片必须缩放到图片框图片属性的大小。图片通过以下代码加载到图片框:Picture.Picture = LoadPicture("F:\img.JPG")

有人知道我如何将img缩放到图片框大小吗?

任何人都可以帮助我跟进其中一种解决方案。原则上,如果可以控制将图像控件放置在框架中的前景,则最好使用图像控件。

1 个答案:

答案 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