| 文章: |
SHLWAPI中的PathCompactPath函数提供了一种简单的压缩长文件名的方法。它使用省略号(...)代替部分文件名。这个函数的声明如下:
Private Declare Function _
PathCompactPath Lib "shlwapi"_
Alias "PathCompactPathA" _
(ByVal hDC As Long, ByVal _
lpszPath As String, _
ByVal dx As Long) As Long
如你所见,PathCompactPath函数需要三个参数。第一个参数包含一个设备上下文句柄。第二个参数包含你要使用的路径名的地址。第三个参数包含你要使用路径名的地方的宽度,以点为单位。这样,放置一个压缩的文件名在名为lblEllipsis的标签中,放置如下代码在按钮的Click()事件中:
Private Sub Command1_Click()
Dim lhDC As Long, lCtlWidth As Long
Dim FileSpec As String
FileSpec = "C:\MyFolder\VisualBasic\MyReallyWayTooLongFolderName\" _
& "ButWhoCares\IhaveTheAPI.doc"
Me.ScaleMode = vbPixels
lCtlWidth = lblEllipsis.Width - Me.DrawWidth
lhDC = Me.hDC
PathCompactPath lhDC, FileSpec, lCtlWidth
lblEllipsis.Caption = FileSpec
End Sub
文章来源:李海翻译。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, Windows API, win32, api, windows api, gdi32, kernel, 磁盘、文件和目录, disk, file, fat, directory, folder。
|