springsky 发表于 2004-7-1 17:21:00

高手请赐教!

Private Sub TvwTK_Click()<BR>Additems<BR>End Sub


Private Sub UserForm_Initialize()<BR>Ini_userform


End Sub<BR>Sub Ini_userform()


SysPath = ThisDrawing.GetVariable("users5")


IniTvwtk


With Me<BR>                       .Image1.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image2.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image3.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image4.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image5.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image6.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image7.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image8.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image9.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image10.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image11.SpecialEffect = fmSpecialEffectRaised<BR>                       .Image12.SpecialEffect = fmSpecialEffectRaised<BR>End With<BR>               <BR>                       <BR>End Sub


Sub IniTvwtk()<BR>On Error GoTo ErrHandler<BR>Dim MyName, path_W<BR>Dim S, F As Nodes<BR>Dim i


i = 0<BR>SysPath = ThisDrawing.GetVariable("users5")


path_W = SysPath + "lib\"


Me.TvwTK.LineStyle = tvwTreeLines<BR>Me.TvwTK.HideSelection = False


Me.TvwTK.BorderStyle = ccNone<BR>On Error Resume Next


Me.TvwTK.LineStyle = tvwRootLines<BR>F.Image = "library"<BR>F.Expanded = True


MyName = Dir(path_W, vbDirectory)<BR>Do While MyName &lt;&gt; ""<BR>                       If MyName &lt;&gt; "." And MyName &lt;&gt; ".." Then<BR>                                                               If (GetAttr(path_W &amp; MyName) And vbDirectory) = vbDirectory Then<BR>                                                               i = i + 1<BR>                                                               Set F = Me.TvwTK.Nodes.Add(, , "F" &amp; i, Trim(MyName))<BR>                                                               End If<BR>                       End If<BR>MyName = Dir<BR>Loop


ErrHandler:<BR>                       Exit Sub<BR>End Sub


Sub Additems()<BR>                       Dim nodeDwgName As Node<BR>                       Dim tmpstr As String<BR>                       Dim strKey As String<BR>                       Dim strKey1 As String<BR>                       Dim strParent As String<BR>                       Dim tmp_FileName As String<BR>                       Dim File_List<BR>                       Dim tmpNode As Node<BR>                       Dim tmpKey As String<BR>                       Dim ww<BR>                       <BR>                       Dim Path_Lib As String<BR>                       Dim i As Integer<BR>                       Dim j As Integer<BR>                       <BR>                       SysPath = ThisDrawing.GetVariable("users5")


                       Path_Lib = SysPath + "lib\"


                       If TvwTK.SelectedItem.Children = 0 Then<BR>                                                       strKey = Trim(TvwTK.SelectedItem.Key)<BR>                                                       tmpstr = Trim(TvwTK.SelectedItem.Text)<BR>                                                       strKey1 = Left(strKey, 1)<BR>                                                       Select Case strKey1<BR>                                                       Case "F"<BR>                                                                                       File_List = W_GetFileListByPath(Path_Lib + tmpstr + "\", "")<BR>                                                                                       For i = LBound(File_List) To UBound(File_List)<BR>                                                                                                                       tmp_FileName = Left(File_List(i), Len(File_List(i)) - 4)<BR>                                                                                                                       Set nodeDwgName = TvwTK.Nodes.Add(strKey, tvwChild, "S" &amp; strKey &amp; i, tmp_FileName)<BR>                                                                                                                       <BR>                                                                                                                       ww = ss(i, Path_Lib + tmpstr + "\" + File_List(i))<BR>                                                                                                                       <BR>                                                                                       Next i<BR>                                                                                       'Me.Label1.Caption = Trim(TvwTK.SelectedItem.Text)<BR>                                                       Case "S"<BR>                                                       <BR>                                                                                       StrFileName = Trim(TvwTK.SelectedItem.Text)<BR>                                                                                       tmpKey = Right(Trim(TvwTK.SelectedItem.Key), 1)<BR>'                                                                                       j = Val(tmpKey) + 1<BR>'                                                                                       If j / 12 &lt;= 1 Then<BR>'                                                                                                                       ss = "Me.Image" &amp; j &amp; ".Picture =" &amp; ""<BR>'                                                                                       TvwTK<BR>'                                                                                       ElseIf j / 12 &lt;= 2 Then<BR>'                                                                                       ElseIf j / 12 &lt;= 3 Then<BR>'                                                                                       ElseIf j / 12 &lt;= 4 Then<BR>'                                                                                       End If<BR>                                                                                       <BR>                                                                                       Set tmpNode = TvwTK.SelectedItem.Parent<BR>                                                                                       strParent = tmpNode.Text<BR>                                                                                       <BR>                                                                                       StrFilePath = Path_Lib &amp; strParent &amp; "\" &amp; Trim(TvwTK.SelectedItem.Text)<BR>                                                                                       'Me.Label1.Caption = StrFileName


                                                       End Select<BR>                                                       <BR>                       End If<BR>End Sub<BR>                                                       <BR>Function ss(i As Integer, FileName As String) As Variant<BR>ss = "me.Image" &amp; i + 1 &amp; ".picture=" &amp; FileName &amp; vbCr<BR>End Function



程序中我不想一个一个的写语句将image的picture付值,我想通过函数ss这样的形式实现,当然了我写的ss函数是不能实现的,不知道有没有办法实现?请高手赐教!

雪山飞狐_lzh 发表于 2004-7-1 17:32:00

set me.Controls("Image" &amp; i+1).picture=loadpicture(filename)

springsky 发表于 2004-7-1 18:02:00

谢谢!飞狐兄!
页: [1]
查看完整版本: 高手请赐教!