devxlogo

CompactPathToControl – Shorten a path by using ellipses

CompactPathToControl – Shorten a path by using ellipses

 Shared Function _    GetWindowDC(ByVal hWnd As Integer) As IntegerEnd Function Shared Function _    PathCompactPath(ByVal hDC As Integer, _    ByVal pathBuffer As System.Text.StringBuilder, _    ByVal dx As Integer) As BooleanEnd Function' 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 width'' Example:'   Dim longPath As String = "D:VB2TheMaxExamplesRoutinesFile1.vb"'   Label1.Text = CompactPathToControl(longPath, Label1)Function CompactPathToControl(ByVal longPath As String, ByVal ctl As Control, _    Optional ByVal maxWidth As Long = -1) As String    ' if 3rd argument is omitted, use the control's width    If maxWidth ' compact the path    Dim compPath As New System.Text.StringBuilder(longPath)    PathCompactPath(GetWindowDC(ctl.Handle.ToInt32()), compPath, maxWidth)    ' get the path by extracting it from the returned buffer    Return compPath.ToString()End Function

devx-admin

Share the Post: