爱问知识人 爱问教育 医院库

vb 关于动态添加控件

首页

vb 关于动态添加控件

现有picture1(0),picture1(0)中有label1(0)

我想添加Picture1(1),并使Picture1(1)中有个label1(1)

请问怎样做? 

提交回答
好评回答
  • 2009-08-26 17:56:48
      这个问题嘛真的不好解决,因为 Label 是没有句柄的。
    如果是一个 PictureBox 和 CommandButton 的话,那就很容易实现了。
    '函数声明
    Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
    '事件代码
    Load Picture1(1)
    Load Command1(1)
    SetParent Command1(1)。
      hWnd, Picture1(1)。hWnd Picture1(1)。Move 0, 0 '为了看效果将他们整体移动到其他位置,如果没有这句,将与原来的一组完全重合 Command1(1)。Visible = True '必须的,否则看不到 Picture1(1)。
      Visible = True '必须的,否则看不到 可以发现,按钮的内部定位和原来的完全一致。 可是,如果是 Label 的话,由于他没有句柄,属于中层次控件,无法随意调整它们的层次,即不能载入到高层次的 PictureBox 中去。 如果必须解决这样的问题,那么需要自己制作一个有句柄的 LabelEx 控件来完成要求。
      或者你说不定是为了实现一种浏览器或什么的,可以将它们整体做成一个控件封装起来,这样就能以新控件的形式建立自定义控件的数组了。 哎,实在看不下去了,楼下的卖关子。。。 我想了下,你如果只要再添加一个 PictureBox 和 Label 并且让 Label 在 PictureBox 里面的话,其实可以不考虑使用控件数组的。
       为了方便,以下代码混合了控件数组和动态添加控件的相关方法。 Private WithEvents NewLabel As Label Private Sub AddGroup() Load Picture1(1) Set NewLabel = Me。
      Controls。Add("VB。Label", "NewLabel", Picture1(1)) With NewLabel 。Caption = Label1(0)。Caption 。Move Label1(0)。Left, Label1(0)。
      Top, Label1(0)。Width, Label1(0)。Height 。Visible = True End With Picture1(1)。Move 0, 0 '为了看效果将他们整体移动到其他位置,如果没有这句,将与原来的一组完全重合 Picture1(1)。
      Visible = True End Sub Private Sub NewLabel_Click() '响应事件代码 End Sub 这样的缺点就是不能从整体上控制控件的行为,尚有待考虑。 本人制作的 VB 滚动条控件已经超过发行期,现在将不在网络上发布。
       目前最新的版本已经十分完善了。 对于有需要的用户可以联系 galaxysoft@ 。

    G***

    2009-08-26 17:56:48

其他答案

类似问题

换一换
  • VB 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 172-191
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):