【问题标题】:vb6: place image control on frame dynamicallyvb6:动态地将图像控件放在框架上
【发布时间】:2019-04-02 04:29:02
【问题描述】:

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

我尝试了两种不同的想法,但都没有奏效:

想法 1

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

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

想法 2

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

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

谁能帮我跟进解决方案之一。原则上,如果可以将图像控件放在框架的前景中,我会更喜欢使用它们。

【问题讨论】:

    标签: image vb6 picturebox


    【解决方案1】:

    我猜想在创建图像控件之后,您将它移动到 Frame 上。如果是这样,这就是控件位于 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
    

    【讨论】:

      猜你喜欢
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多