UF.CommandButton horizontal anordnen
19.11.2024 18:54:34
Sigifrm
Ich möchte gerne das die Standard Breite von 70 erhalten bleibt.
Ändert sich der Caption Text soll sich auch die Breite des CommndButton ändern und die beiden dementsprechend nach rechts verschoben werden.
Mein Versuch klappt nicht
With UFMsg
' Mindestbreite für die Schaltflächen
Const MinButtonWidth As Single = 70
Dim MaxButtonWidth As Single
Dim TempWidth As Single
' Temporäres Label zum Messen der Textbreite
.LabelTemp.Visible = False
.LabelTemp.AutoSize = True
' Text der Schaltflächen in das temporäre Label setzen und die Breite messen
.LabelTemp.Caption = .cmd_Ja.Caption
TempWidth = .LabelTemp.Width
MaxButtonWidth = Application.WorksheetFunction.Max(TempWidth, MinButtonWidth)
.LabelTemp.Caption = .cmd_Nein.Caption
TempWidth = .LabelTemp.Width
MaxButtonWidth = Application.WorksheetFunction.Max(TempWidth, MaxButtonWidth)
.LabelTemp.Caption = .cmd_Abbrechen.Caption
TempWidth = .LabelTemp.Width
MaxButtonWidth = Application.WorksheetFunction.Max(TempWidth, MaxButtonWidth)
' Setze die Breite aller Schaltflächen auf die maximale Breite
.cmd_Ja.Width = MaxButtonWidth
.cmd_Nein.Width = MaxButtonWidth
.cmd_Abbrechen.Width = MaxButtonWidth
' Schaltflächen ausrichten
.cmd_Ja.Left = (UFMsg.Width - (3 * MaxButtonWidth + 10)) / 2
.cmd_Nein.Left = .cmd_Ja.Left + MaxButtonWidth + 5
.cmd_Abbrechen.Left = .cmd_Nein.Left + MaxButtonWidth + 5
' Höhe der Labels anpassen
.lblText.AutoSize = True
If .lblText.Height 39 Then
.lblText.Height = 39
.Height = 102
Else
.frmButton.Top = .lblText.Height + 35
.Height = UFMsg.lblText.Height + 72
End If
End With
Danke!
Gruß Sigi
Anzeige