form4

 

Center Caption On Form Title Bar


Center Caption On Form Title Bar


Module Code

Public Sub CenterC(frm As Form)

Dim SpcF As Integer 'How many spaces can fit
Dim clen As Integer 'caption length
Dim oldc As String 'oldcaption
Dim i As Integer

oldc = frm.Caption

Do While Left(oldc, 1) = Space(1)
DoEvents
oldc = Right(oldc, Len(oldc) - 1)
Loop

Do While Right(oldc, 1) = Space(1)
DoEvents
oldc = Left(oldc, Len(oldc) - 1)
Loop

clen = Len(oldc)

If InStr(oldc, "!") <> 0 Then
If InStr(oldc, " ") <> 0 Then
clen = clen * 1.5
Else
clen = clen * 1.4
End If
Else
If InStr(oldc, " ") <> 0 Then
clen = clen * 1.4
Else
clen = clen * 1.3
End If
End If

'see how many characters can fit
SpcF = frm.Width / 61.2244 'how many space cam fit in the caption
SpcF = SpcF - clen

If SpcF > 1 Then
DoEvents 'speed up the program
frm.Caption = Space(Int(SpcF / 2)) + oldc
Else 'if the form is too small for spaces
frm.Caption = oldc
End If

End Sub

Form Code

Dim oldsize As Long

Private Sub Form_Resize()
If Me.Width = oldsize Then 'if the width hasn't changed
Exit Sub 'then don't change the caption location
Else
CenterC Me
oldsize = Me.Width
End If
End Sub

Private Sub Form_Load()
CenterC Me
oldsize = Me.Width
End Sub