VBA: Echte und unechte Schaltflächen

Unsichtbare Schaltflächen: Bezeichnungsfelder statt Schaltflächen

Bisher noch keine Bewertungen für diesen Artikel.

Bezeichnungsfelder statt Schaltflächen

Auf dieser Seite

Wenn Sie jedoch den Rand beeinflussen möchten, sind Schaltflächen nicht geeignet, denn deren Rand bleibt immer gleich.

Nehmen Sie stattdessen ein Bezeichnungsfeld, dessen BackStyle Sie auf fmBackStyleTransparent stellen. Trotzdem muss die Visible-Eigenschaft selbstverständlich auf True stehen, sonst wäre es nicht aktivierbar.

Auch Bezeichnungsfelder haben eine Click-Methode, so dass diese sich damit genau wie Schaltflächen verhalten. Im folgenden Code finden Sie die Programmierung zu den Bezeichnungsfeldern (mit den Namen lbl01 bis lbl12) auf der Grafik anstatt der bisherigen Schaltflächen. Alle rufen hier wieder die Prozedur Markieren auf, um den Erfolg des Anklickens anzuzeigen.

Private Sub lbl01_Click(): Markiere 1: End Sub
Private Sub lbl02_Click(): Markiere 2: End Sub
Private Sub lbl03_Click(): Markiere 3: End Sub
Private Sub lbl04_Click(): Markiere 4: End Sub
Private Sub lbl05_Click(): Markiere 5: End Sub
Private Sub lbl06_Click(): Markiere 6: End Sub
Private Sub lbl07_Click(): Markiere 7: End Sub
Private Sub lbl08_Click(): Markiere 8: End Sub
Private Sub lbl09_Click(): Markiere 9: End Sub
Private Sub lbl10_Click(): Markiere 10: End Sub
Private Sub lbl11_Click(): Markiere 11: End Sub
Private Sub lbl12_Click(): Markiere 12: End Sub

Private Sub Markiere(intNr As Integer)
	Dim lblDieser As Label
	Dim intZaehler As Integer

	For intZaehler = 1 To 12
		Set lblDieser = Me.Controls("lbl" & Format(intZaehler, "00"))
		With lblDieser
			.SpecialEffect = fmSpecialEffectRaised
		End With
	Next

	Set lblDieser = Me.Controls("lbl" & Format(intNr, "00"))
	With lblDieser
		.SpecialEffect = fmSpecialEffectSunken
	End With
End Sub

Anders als bei einer Schaltfläche können Sie bei einem Bezeichnungsfeld dessen Rand-Darstellung ändern. Hier wechselt er von "erhaben" (raised) auf "vertieft" (sunken), so dass er sich eigentlich wie eine Umschaltfläche verhält.

56940_etiketten03.png

Bezeichnungsfelder können nach dem Anklicken ihren Rand ändern, wie hier zu sehen ist.