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
博客给出了在窗体中实现标题居中的代码。定义了 Sub 过程 CenterC 用于处理标题,去除首尾空格并根据标题内容调整长度,计算可容纳空格数后使标题居中。还给出在窗体中添加的代码,在窗体加载和大小改变时调用 CenterC 实现标题居中。
1万+

被折叠的 条评论
为什么被折叠?



