CompactPathToWindow – Shorten a path so that it fits a window’s width

Private Type RECT    Left As Long    Top As Long    Right As Long    Bottom As LongEnd TypePrivate Declare Function IsWindow Lib "user32" (ByVal hWnd As Long) As LongPrivate Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, _    lpRect As RECT) As LongPrivate Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As LongPrivate Declare Function PathCompactPath Lib "shlwapi.dll" Alias _    "PathCompactPathA" (ByVal hDC As Long, ByVal lpszPath As String, _    ByVal dx As Long) As Boolean' shorten a path by using ellipses, if necessary,' so that it fits inside a window' if maxWidth=-1 or omitted, it uses the entire window's widthFunction CompactPathToWindow(ByVal sPath As String, ByVal hWnd As Long, _    Optional ByVal maxWidth As Long = -1) As String    Dim rc As RECT        ' Illegal function call if hWnd isn't a valid window handle    If IsWindow(hWnd) = 0 Then Err.Raise 5           ' if 3rd argument is omitted, use windows' width    If maxWidth < 0 Then        'get the rect of the target window        GetClientRect hWnd, rc        maxWidth = rc.Right - rc.Left    End If        ' compact the path    PathCompactPath GetWindowDC(hWnd), sPath, maxWidth        ' get the path by extracting it from the returned buffer    CompactPathToWindow = Left$(sPath, InStr(sPath & vbNullChar, _        vbNullChar) - 1)    End Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS