Tipp 0272 ToolBar-Buttons zur Laufzeit hinzufügen
Autor/Einsender:
Datum:
  Angie
18.09.2002
Entwicklungsumgebung:   VB 5
In diesem Beispiel werden die Buttons erst zur Laufzeit zur vorhandenen Symbolleiste (ToolBar) hinzugefügt. Dafür wurde bereits zur Entwurfszeit eine Abbildungsliste (ImageList) mit den entsprechenden Bildern für die Buttons vorbereitet.
Durch Doppelklick auf die Symbolleiste zur Laufzeit oder durch Klick auf den entsprechenden Button auf der Symbolleiste wird das Dialogfeld "Symbolleiste anpassen" geöffnet, in dem die Schaltflächen der Symbolleiste verborgen, angezeigt oder umgeordnet werden können.
Mit den Methoden SaveToolbar und RestoreToolbar kann der Status einer Symbolleiste gespeichert und wiederhergestellt werden. In diesem Beispiel wird sowohl der Originalzustand als auch der durch den Benutzer ggf. geänderte Zustand der Symbolleiste in der Registry gespeichert.
 
Option Explicit

Private Declare Function RegOpenKey Lib "advapi32.dll" Alias _
      "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey _
      As String, phkResult As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" ( _
      ByVal hKey As Long) As Long

Const HKEY_CURRENT_USER = &H80000001
Const ERROR_SUCCESS = &H0

Const SaveToolBarKey = HKEY_CURRENT_USER
Const SaveToolBarSubKey = _
      "Software\VB and VBA Program Settings\VBFun\VB-Fun-Toolbar"
Const SaveToolBarVal_1 = "VBFunDefault"
Const SaveToolBarVal_2 = "User"

Dim blnFormLoading As Boolean

Private Sub Form_Load()
  Dim btnX As Button

  Dim lResult As Long
  Dim hKey As Long

  blnFormLoading = True

  Toolbar1.ImageList = ImageList1

  Set btnX = Toolbar1.Buttons.Add(, "new", , tbrDefault, "new")
    btnX.ToolTipText = "Datei Neu"
    btnX.Description = btnX.ToolTipText

  Set btnX = Toolbar1.Buttons.Add(, "open", , tbrDefault, "open")
    btnX.ToolTipText = "Datei Öffnen"
    btnX.Description = btnX.ToolTipText

  Set btnX = Toolbar1.Buttons.Add(, "save", , tbrDefault, "save")
    btnX.ToolTipText = "Datei Speichern"
    btnX.Description = btnX.ToolTipText

  Set btnX = Toolbar1.Buttons.Add(, , , tbrSeparator)

  Set btnX = Toolbar1.Buttons.Add(, "customize", , tbrDefault, _
                                  "customize")
    btnX.ToolTipText = "Symbolleiste anpassen"
    btnX.Description = btnX.ToolTipText

  Set btnX = Toolbar1.Buttons.Add(, "restore", , tbrDefault, _
                                  "restore")
    btnX.ToolTipText = "Symbolleiste zurücksetzen"
    btnX.Description = btnX.ToolTipText

  Set btnX = Nothing

  With Toolbar1
    .Wrappable = True
    .AllowCustomize = True
  End With

  Me.Show
  DoEvents

  lResult = RegOpenKey(SaveToolBarKey, SaveToolBarSubKey, hKey)
  If lResult <> ERROR_SUCCESS Then
    Toolbar1.SaveToolbar SaveToolBarKey, SaveToolBarSubKey, _
                SaveToolBarVal_1
  Else
    Toolbar1.RestoreToolbar SaveToolBarKey, SaveToolBarSubKey, _
                SaveToolBarVal_2
  End If

  RegCloseKey hKey

  With CommonDialog1
    .DefaultExt = ".rtf"
    .Filter = "RTF file (*.RTF)|*.RTF"
  End With

  blnFormLoading = False
End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As Button)
  Dim strFileName As String

  Select Case Button.Key
    Case Is = "new"
      RichTextBox1.Text = vbNullString

    Case Is = "open"
      CommonDialog1.ShowOpen
      strFileName = CommonDialog1.FileName

      RichTextBox1.LoadFile strFileName, 0

    Case Is = "save"
      CommonDialog1.ShowSave
      strFileName = CommonDialog1.FileName

      RichTextBox1.SaveFile strFileName, 0

    Case Is = "customize"
      Toolbar1.Customize

    Case Is = "restore"
      Toolbar1.RestoreToolbar SaveToolBarKey, _
            SaveToolBarSubKey, SaveToolBarVal_1
  End Select
End Sub

Private Sub Toolbar1_Change()
  If blnFormLoading Then Exit Sub

  Toolbar1.SaveToolbar SaveToolBarKey, SaveToolBarSubKey, _
         SaveToolBarVal_2
End Sub
 
Weitere Links zum Thema
ToolBar-Einstellungen speichern/laden
Toolbar-Icons elegant ändern

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (5,6 kB) Downloads bisher: [ 1370 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Samstag, 28. Mai 2011