以下是引用tianmao在2005-9-15 9:58:49的发言:
谢谢。
第一题是。如何实现组合键
还有,图片浏览我已经知道了,但还有个问题,
方法是,先loadpicture(dir(commandialog.filename)),然后在不给dir任何参数
多次执行loadpicture(dir()),但是有个问题,一旦浏览到最后一张图片之后的时候就出错,请问怎么判断呢?
还有我发现vb有很多系统固定的对象,比如button 可以用这些名直接用来编程,请问还有什么样的对象,怎么去查。
请给个正解,
我说过用FSO变例出数量,一下为FSO控件遍历数量的代码。
这个是窗体代码窗体需要有名称为combo1和combo2的两个列表框控件,和一个名称为Text1的文本框控件和一个名称为List1的列表控件和一个名称为command1的按钮控件。
之前需要引用Microsoft Scripting Runtime的ActiveX的Dll控件就可以运行下面的代码了。
Dim m_lngFileCount As Long '定义计数器
Dim m_objFSO As Scripting.FileSystemObject '定义文件系统对象
Private Sub Command1_Click()
Set m_objFSO = New Scripting.FileSystemObject
m_lngFileCount = 0
CheckFolder "H:\LXZH\LzxFace\"'这里为要遍历的文件所在的文件夹的物理路径。
Text1.Text = "jpg文件总共有:" & CStr(m_lngFileCount) & "个"
End Sub
Function CheckFolder(strPath As String)
Dim objFolder As Scripting.Folder '文件夹对象
Dim objFile As Scripting.File '文件对象
Dim objSubdirs As Scripting.Folders '文件夹集合对象
Dim objLoopFolder As Scripting.Folder '文件夹对象
'Debug.Print "Checking directory " & strPath
Set objFolder = m_objFSO.GetFolder(strPath)
'检查目录中的文件
Dim j As Integer
j = 0
For Each objFile In objFolder.Files
If UCase$(Right$(objFile.ShortPath, 4)) = ".jpg" Or UCase$(Right$(objFile.ShortPath, 4)) = ".JPG" Or UCase$(Right$(objFile.ShortPath, 4)) = ".jpeg" Then'这里是文件的类型判断语句。
'这一段是条件检查,但找到的文件是否符合给定的条件,这儿通过取文件名的
'最后4位看是不是“.GIF“来判断文件是否是GIF文件。
m_lngFileCount = m_lngFileCount + 1
Dim i As Integer
Dim tempstr As String
' rs.AddNew
' rs.Fields(0).Value = "face" & CStr(m_lngFileCount)
' rs.Fields(1).Value = objFile.Path
' rs.Update
For i = 0 To Len(StrReverse(objFile.Path))
If Mid(StrReverse(objFile.Path), i + 1, 1) <> "\" Then
tempstr = tempstr & Mid(StrReverse(objFile.Path), i + 1, 1)
Else
' rs.AddNew
' rs.Fields(0).Value = "face" & CStr(j + 1)
' rs.Fields(1).Value = objFile.Path
' rs.Update
Combo1.AddItem StrReverse(tempstr)
Combo2.AddItem objFile.Path
List1.AddItem StrReverse(tempstr)
Debug.Print StrReverse(tempstr)
tempstr = ""
Exit For
End If
Next i
'找到指定条件的文件后进行相应的操作,这儿是把计数器加一。
End If
Next objFile
' 在所有子目录中循环,计数。
'Set objSubdirs = objFolder.SubFolders
'For Each objLoopFolder In objSubdirs
'CheckFolder objLoopFolder.Path
'递归调用CheckFolder子过程,实现目录树的遍历。
'Next objLoopFolder
'Set objSubdirs = Nothing
'Set objFolder = Nothing
End Function