首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

早上好啊自制控件置顶有关问题

2013-07-09 
早上好啊。在线等。自制控件置顶问题。自己写了一个控件。但是不能置顶。应该哪个地方改一下就行吧。还有就是如

早上好啊。在线等。自制控件置顶问题。
自己写了一个控件。但是不能置顶。应该哪个地方改一下就行吧。还有就是如何把这个控件能当容器使用。

[解决办法]
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


热点排行