如何知道一个控件是否具有某一属性?
最好给出确切的办法。

解决方案 »

  1.   

    在代码中输入该控件名,然后点一点,然后输入该属性的首字母,看看会不会提示有该属性了
    或者查MSDN了
      

  2.   

    up,所有的方法中这两个最简单了,现在有了全新的中文msdn,你可以去装一下,编程的时候好多问题都可以一目了然了。
      

  3.   

    不是这个意思,大哥们,误会了。
    我说的是有一个Control对象 ctl
    现在判断一下它有没有 enable属性,mousepointer属性……不是具体的一个控件
      

  4.   

    唉,不太想用on error捕获它,因为调试的时候不方便。
    没别的办法么?
      

  5.   

    '用TypeLib Information
    '浏览引用%System32%下的TLBINF32.Dll
    Option ExplicitPrivate Sub Form_Load()
       Dim oTLB As InterfaceInfo
        
       Dim i As Integer
       Dim j As Long
       Dim k As Long
       Dim sStr As String
       Dim Target As Object
       
       Dim Item As ListItem
       
       Set Target = ListView1
       
       ListView1.ColumnHeaders.Clear
       ListView1.ColumnHeaders.Add , , "EventName"
       ListView1.ColumnHeaders.Add , , "Parameters"
       ListView1.ListItems.Clear
       
       Set oTLB = TLI.InterfaceInfoFromObject(Target)
       '这一小段可以取到第三方控件的事件,但取不到VB内置的控件的事件
       For i = 2 To TLI.ClassInfoFromObject(Target).Interfaces.Count
            For j = 1 To TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Count
                Set Item = ListView1.ListItems.Add(, , TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Item(j).Name)
                sStr = ""
                For k = 1 To TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Item(j).Parameters.Count
                    sStr = sStr & IIf(sStr = "", "", ",") & TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Item(j).Parameters.Item(k).Name
                Next k
                Item.SubItems(1) = sStr
            Next j
       Next iEnd Sub
      

  6.   

    ListView中第一列是属性及事件列表,第二列是参数