Alignable 属性设为 true,控件便可以多出来个 Align 属性,将其设置为 1 便可置顶了 ControlContainer 属性设为 true,控件便可作为容器使用 如果你想实现控件放置后 Align 属性默认为 1,实现自动置顶的效果,你可以在控件的 InitProperties 事件中加上以下代码Private Sub UserControl_InitProperties() Dim i As Long Dim pco_hwnd As Long Err.Clear On Error Resume Next For i = 0 To UserControl.ParentControls.Count - 1 pco_hwnd = UserControl.ParentControls.Item(i).hWnd If Err.Number <> 0 Then Err.Clear: pco_hwnd = 0 If UserControl.ParentControls.Item(i).hWnd = UserControl.hWnd Then UserControl.ParentControls.Item(i).Align = 1 Exit For End If Next i End SubPrivate Sub UserControl_Resize() ' 设置默认高度为 30 个像素 If UserControl.Height <> 15 * 30 Then UserControl.Height = 15 * 30 End If End Sub
在调用的代码中添加
uCtrl.zorder还有就是如何把这个控件能当容器使用。控件属性中设置:
ControlContainer=true
ControlContainer 属性设为 true,控件便可作为容器使用
如果你想实现控件放置后 Align 属性默认为 1,实现自动置顶的效果,你可以在控件的
InitProperties 事件中加上以下代码Private Sub UserControl_InitProperties()
Dim i As Long
Dim pco_hwnd As Long
Err.Clear
On Error Resume Next
For i = 0 To UserControl.ParentControls.Count - 1
pco_hwnd = UserControl.ParentControls.Item(i).hWnd
If Err.Number <> 0 Then Err.Clear: pco_hwnd = 0
If UserControl.ParentControls.Item(i).hWnd = UserControl.hWnd Then
UserControl.ParentControls.Item(i).Align = 1
Exit For
End If
Next i
End SubPrivate Sub UserControl_Resize()
' 设置默认高度为 30 个像素
If UserControl.Height <> 15 * 30 Then
UserControl.Height = 15 * 30
End If
End Sub