Thema Datum  Von Nutzer Rating
Antwort
01.12.2014 20:50:26 Dummi
NotSolved
Blau "Eigenschaften" für mehrere Toggle-Button realisieren ?
05.12.2014 21:24:47 MarkusK
NotSolved

Ansicht des Beitrags:
Von:
MarkusK
Datum:
05.12.2014 21:24:47
Views:
828
Rating: Antwort:
  Ja
Thema:
"Eigenschaften" für mehrere Toggle-Button realisieren ?

Hallo,

wenn du dich in einer Userform befindest, kann man die Toggel-Buttons über eine Klasse abfangen.

Man erstellt ein Klasse (ist fast wie eine Userform blos halt ohne das Fenster), und in der Klasse wird dann eine Varible für ein Toggel-Button angelegt.

Und zwar so dass in der Klasse auch die Events wie "Click" ankommen.

Dann erstellt man ein Array mit dem Typ dieser Klasse, und weißt dann die Buttons zu.

also mach mal folgendes.

Klasse:

Erzeuge eine neue Klasse, das geht im Menü unter Einfügen->Klassenmodul.

Die neue Klasse benennst du im Eigenschaft-Fenster um in "clToggel".

Im Code-Fenster fügst du dann folgenden Code ein:

Option Explicit

Public WithEvents tb As ToggleButton

Private Sub tb_Click()
If tb.Value = True Then
    tb.BackColor = vbGreen
Else
    tb.BackColor = &H8000000F
End If
End Sub


In der Userform muss dann noch folgender Code rein.

Private tb() As clToggel

Private Sub UserForm_Activate()
Dim i As Integer
For i = 0 To Me.Controls.Count - 1
If TypeName(Me.Controls.Item(i)) = "ToggleButton" Then
    ReDim Preserve tb(i)
    Set tb(i) = New clToggel
    Set tb(i).tb = Me.Controls.Item(i)
End If
Next i

End Sub

 

Für jeden Toggel-Button in der Userform wird dann dass Array um ein Platz erweitert, und dem neuen Platz eine neu Instanz deiner Klasse zugewiesen.

Die neuen Instanz der Klasse hat ja eine Variable vom Typ Toggel-Button, und der wird dann einer der Toggel-Button der Userform zugewiesen.

Jezt ist quasi jeder Button mit einer Instanz einer Klasse verknüpft.

Somit must du den Code nicht selbst 50 mal tippen, sondern läßt ihn einfach von VBA selbst kopieren.

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
01.12.2014 20:50:26 Dummi
NotSolved
Blau "Eigenschaften" für mehrere Toggle-Button realisieren ?
05.12.2014 21:24:47 MarkusK
NotSolved