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
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