VBATools

FM20 – ToggleButton

ToggleButton to kontrolka ActiveX z zestawu biblioteki FM20 (standardowy przybornik) dla kompilacji Office 32/64 bit.

Kontrolka Toggle to tak naprawdę inna postać CheckBoxa. Która akurat w VBA przybiera postać przycisku. W późniejszych systemach jest to własnie check, z parametrem zmiany wyglądu. Niemniej jednak omawiamy kontrolki w środowisku Office, a więc oto ta kontrolka:

Obrazek

Rysując przycisk otrzymujemy jego cechy (a więc, wywołanie skrótem z parametru Accelerator, możliwość naniesienia nazwy Caption, rysunku Picture i ich położenia względem siebie PicturePosition). Te jednak sprawy opisałem już w poprzednich artykułach.

Na czym można by się w takim razie skupić, skoro to powiązanie 2-ch innych kontrolek… może na zastosowaniu. Sam używam często tej kontrolki w jednym tylko celu. Aby w interfejsie umieścić możliwość rozwinięcia jego obszaru. Czyli przypiąć parametr szerokości lub wysokości formy. Kliknięcie w przycisk rozwija formę lub ją zwija do pierwotnej wielkości (na prawo lub w dół) co należy przewidzeń przy projektowaniu większych przestrzeni. Można co prawda włączyć za każdym razem wyśrodkowanie, ale w tedy przełącznik ganiał by nam po ekranie i byłoby to mało ergonomiczne. Oto przykład takiego zastosowania i przykładowy kod:

Obrazek
Private Sub UserForm_Initialize() 
Call stan_toogla(ToggleButton1.Value) 
End Sub 
 
Private Sub ToggleButton1_Click() 
Call stan_toogla(ToggleButton1.Value) 
End Sub 
 
Sub stan_toogla(rozwin As Boolean) 
If rozwin = True Then 
 Me.Width = 447 
 ToggleButton1.Caption = "<-" 
 ToggleButton1.ControlTipText = "Kliknij aby zwinąć" 
Else 
 Me.Width = 243 
 ToggleButton1.Caption = "->" 
 ToggleButton1.ControlTipText = "Kliknij aby rozwinąć" 
End If 
End Sub

W kodzie postarałem się przekazać wartość kontrolki do procedury z parametrem. Jest to krótsza forma, niż powielanie identycznych linijek w ustawieniu początkowym i reakcji na naciśnięcie Toggla.


Jeśli uważasz że pokazane materiały są godne polecenia – podziel się tą wiadomością z innymi pozostawiając odnośnik to tego materiału.

(c) Shon Oskar – http://VBATools.pl
Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.