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

vb6: place image control on frame dynamically

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

我尝试了两种不同的想法,但其中 none 行得通:

想法 1

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

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

想法 2

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

有谁知道如何将此 img 缩放到图片框的大小?

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

我猜想在创建图像控件后,您将把它移到框架上。如果是这样,这就是控件位于框架后面的原因。你真的希望图像在框架内。这样做的关键是设置 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