![]() |
Tipp 0499
|
Titelzeile zentrieren
|
 |
|
Autor/Einsender: Datum: |
|
Detlev Schubert 22.06.2006 |
|
Entwicklungsumgebung: |
|
VB 6 |
|
|
Ohne die Zuhilfenahme von API-Funktionen, also nur mit VB-Bordmitteln lässt sich problemlos eine Titelzeile unabhängig von der Formgröße zentrieren.
|
Mit einem nicht sichtbaren Label wird einmal die Breite eines Leerzeichens (intSpace) und dann die Breite des ganzen Labels inkl. des Textes für
den Titel (intCapt) ermittelt. Hiervon wird dann die Breite des Symbols abgezogen. Anschließend wird das so formatierte Label unter
Berücksichtigung der Breite der ControlButtons in die Titelzeile (Caption) der Form übertragen.
|
Damit die Titelzeile unabhängig von der Bildschirmauflösung auch zentriert bleibt erfolgt der Aufruf der Funktion im Resize-Ereignis der Form.
Um beim Verkleinern der Form in die TaskBar den Titel auch noch lesen zu können, wird hier noch der Status geprüft, und die für die Zentrierung
verwendeten Leerzeichen entfernt.
|
|
|
Option Explicit
Dim TitelText As String
Private Function CenterTitle()
Dim intCapt As Integer
Dim intSpace As Integer
Dim cClipBox As Long
cClipBox = 1750
With Label1
.AutoSize = True
.FontName = "MS Sans Serif"
.FontBold = True
.FontSize = 8
.Caption = " "
intSpace = .Width - 15
.Caption = TitelText
intCapt = .Width - 15
.Visible = False
End With
Select Case BorderStyle
Case 1, 3
cClipBox = cClipBox - 800
Case Else
End Select
If ControlBox = False Then cClipBox = 450
If Me.Width < intCapt + cClipBox Then
Me.Width = (intCapt + cClipBox)
End If
Me.Caption = String$((Me.Width - (intCapt + cClipBox)) / _
(2 * intSpace), " ") & TitelText
End Function
Private Sub Form_Load()
TitelText = "Zentrierte Titelzeile"
End Sub
Private Sub Form_Resize()
If WindowState <> vbMinimized Then
CenterTitle
Else
Me.Caption = Trim$(Me.Caption)
End If
End Sub
|
|
|
|
|
Windows-Version |
95 |
 |
|
98 |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
VB-Version |
VBA 5 |
 |
|
VBA 6 |
 |
|
VB 4/16 |
 |
|
VB 4/32 |
 |
|
VB 5 |
 |
|
VB 6 |
 |
|
|
|
Download (3 kB)
|
Downloads bisher: [ 376 ]
|
|
|