📄 使用shlwapi库压缩长文件名.txt
字号:
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
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -