|
In Visual Basic zeigen CommandButtons, CheckBoxen und Optionen
neuerdings ihre Beschriftung automatisch mehrzeilig umbrochen an,
wenn der Text zu breit ist, um in die vorgesehen Fläche zu passen.
Ähnlich wie die Ausrichtung der Beschriftung (wie in "Captions
ausgerichtet" geschildert) kann auch der Umbruch über das
Ändern des Fenster-Stils beeinflusst werden. Lediglich bei den
genannten Steuerelementen mit der Einstellung der Eigenschaft Style
= 1 - grafisch funktioniert das nicht.
Das Auslesen des Fenster-Stils und das Setzen des geänderten
Stils erfolgt über die API-Funktionen GetWindowLong
und SetWindowLong.
Da die Anweisungssequenz aus mehreren Zeilen besteht, aber immer die
Gleiche ist, wird sie am bequemsten in eine Prozedur verpackt
aufgerufen. Der Prozedur ButtonMultiLine übergeben Sie das
betreffende Steuerelement und die gewünschte Einstellung True oder
False.
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) _
As Long
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Const BS_MULTILINE = &H2000&
Private Const GWL_STYLE = (-16)
Public Sub ButtonMultiLine(Button As Object, _
ByVal MultiLine As Boolean)
Dim nOldStyle As Long
Dim nNewStyle As Long
With Button
nOldStyle = GetWindowLong(.hwnd, GWL_STYLE)
If MultiLine = True Then
nNewStyle = nOldStyle Or BS_MULTILINE
Else
nNewStyle = nOldStyle And Not BS_MULTILINE
End If
SetWindowLong .hwnd, GWL_STYLE, nNewStyle
.Refresh
End With
End Sub

|