早上好啊。在线等。自制控件置顶问题。
自己写了一个控件。但是不能置顶。应该哪个地方改一下就行吧。还有就是如何把这个控件能当容器使用。
[解决办法]
Windowlessn设置这个意味着控件运行时,不会在窗口上显示的,那当然不能做容器
[解决办法]
把控件放到最顶层的容器里面,再结合zorder进行使用就可以置顶了...
[解决办法]
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 Sub
Private Sub UserControl_Resize()
' 设置默认高度为 30 个像素
If UserControl.Height <> 15 * 30 Then
UserControl.Height = 15 * 30
End If
End Sub