PublicSubCenterC(frmAsForm)
DimSpcFAsInteger'Howmanyspacescanfit
DimclenAsInteger'captionlength
DimoldcAsString'oldcaption
DimiAsInteger'notimportant
''removeanyspacesattheendsofthecaption
''veryeasyifyoureaditcarefully
oldc=frm.Caption
DoWhileLeft(oldc,1)=Space(1)
DoEvents
oldc=Right(oldc,Len(oldc)-1)
Loop
DoWhileRight(oldc,1)=Space(1)
DoEvents
oldc=Left(oldc,Len(oldc)-1)
Loop
clen=Len(oldc)
IfInStr(oldc,"!")<>0Then
IfInStr(oldc,"")<>0Then
clen=clen*1.5
Else
clen=clen*1.4
EndIf
Else
IfInStr(oldc,"")<>0Then
clen=clen*1.4
Else
clen=clen*1.3
EndIf
EndIf
'''seehowmanycharacterscanfit
SpcF=frm.Width/61.2244''howmanyspacecanfit itthecaption
SpcF=SpcF-clen'Howmanyspacescanfit-Howmuch spacethe
''captiontakesup
'''Nowthetrickypart
IfSpcF>1Then
DoEvents'speeduptheprogram
frm.Caption=Space(Int(SpcF/2))+oldc
Else'iftheformistoosmallforspaces
frm.Caption=oldc
EndIf
EndSub
|在窗体中添加以下代码:
DimoldsizeAsLong
PrivateSubForm_Resize()
IfMe.Width=oldsizeThen'ifthewidthhasn't changed
ExitSub'thendontmesswithit
Else
CenterCMe
oldsize=Me.Width
EndIf
EndSub
PrivateSubForm_Load()
CenterCMe
oldsize=Me.Width
EndSub