6.1 ComboBox
6.2 ListBox
6.3 ScrollBary
6.4 CheckBox
6.5 OptionButton
6.6 Frame
6.7 Pojmenovávání objektů
6.8 Domácí úkol
6.9 V další lekci
6.1 ComboBox
ComboBox vypadá takto: Je to pole se seznamem. Tento prvek se využívá třeba při výběru fontů. Ale i při mnoha dalších věcech, především tedy při výběrech z několika možností. Jeho základní vlastnosti, které nás budou zajímat jsou už známe a je tu ještě Sorted tj. seřazení. Víc jich zatím potřebovat nebudeme. Nyní si ukážeme, jak přidat položku do seznamu. Jak ji ubrat, jak vyčistit, nebo obnovit seznam a jak z něj získat hodnotu.
Private Sub Command1_Click()
Combo1.Clear 'Stisknutím tohoto tlačítka smažete seznam.
End Sub
Private Sub Command2_Click()
Combo1.RemoveItem 2 'Tímto smažete
'třetí položku; třetí protože 0,1,2 ….
End Sub
Private Sub Command3_Click()
Combo1.Refresh 'Obnovení seznamu
End Sub
Private Sub Command4_Click()
Print Combo1.Text 'Vytisknutí aktuálně vybrané položky
End Sub
Private Sub Form_Load()
Combo1.AddItem 'Při spuštění programu se do
'seznamu načtou následující údaje
Combo1.AddItem "něco"
Combo1.AddItem "všechno"
Combo1.AddItem "skoro nic"
Combo1.AddItem "téměř vše"
End Sub
To by byly základy k používání ComboBoxu, tak abyste ho mohli bez problémů používat. Ale ještě je tu jedna možnost, jak přidávat položky, ta je spíš pro případy, kdy máte na formuláři třeba na výběr pohlaví (Muž Žena), víc jich není a nic jiného tam ani nebude. Takže je zadáte tím způsobem, že kliknete na položku list a zadáte třeba Muž, stisknete Enter, potom zadáte Žena a opět stisknete Enter. Víc asi nic a jedeme dál podívat se na jeho kolegu.
6.2 ListBox
Jak jsem již zmínil, tak ListBox je kolega ComboBoxu. Plní skoro stejnou funkci, ale každý malinko jinak, tak se na něj podíváme. Může vypadat třeba takto:
Položky se do něj přidávají i odebírají stejně, takže následující kód je spíš na ukázku a doufám, že nepotřebuje komentář.
Private Sub Command2_Click()
List1.RemoveItem 1
End Sub
Private Sub Command3_Click()
List1.Clear
End Sub
Private Sub Form_Load()
List1.AddItem "Hustý"
List1.AddItem "Nic Moc"
List1.AddItem "Blue"
End Sub
U tohoto objektu bych se ještě zmínil o vlastnosti Columns, která nám udává počet sloupců v ListBoxu, to je vhodné používat třeba při velkém množství položek.
Ještě je zde velmi zajímavá vlastnost, a tou je MultiSelect, umožňuje označit více položek najednou a může nabývat tří hodnot:
None – MultiSelect není povolenSimple – MultiSelect se provádí tím, že kliknutím označíte anebo odznačíte
Extended - při MultiSelectingu je potřeba držet Ctrl.
Tím bych tedy ukončil výklad o ListBoxu a pustím se do dalšího objektu
6.3 ScrollBary
ScrollBary neboli posuvníky mají hojné využití třeba při práci s obrázky s textem a i při mnoha dalších odvětvích softwaru, proto bych je nerad vynechal. Podíváme se na kousek kódu, kde uvidíme, jak s nimi alespoň částečně pracovat. Ale ještě než vám ukážu onen tajemný kód, tak se podíváme na některé jeho vlastnosti. Důležité jsou Min, to je minimální hodnota, a Max, to je maximální hodnota, kterých může nabývat jeho další vlastnost Value. Vlastnost Value je vlastně hodnota, na kterou je právě teď nastaven. Další vlastnost je Large Change a Small Change, tyto vlastnosti nám udávají, o kolik se změní hodnota Value, pokud klikneme na šipečku ScrollBaru anebo pokud klikneme do jeho volné části. Small tedy dává kliknutí na šipečku, je to posun o malou část, a Large udává kliknutí do volné části, tedy posun o velkou část. To je nejspíš vše, co je k tomu potřeba říci, a nyní už ten slibovaný kód.
Private Sub HScroll1_Change()
Print HScroll1.Value
Print VScroll1.Value
End Sub
Doufám, že jste pochopili, že vertikální posuvník je v kódu jako VScroll a horizontální jako HScroll. Víc nic a pokračujeme v krasojízdě.
6.4 CheckBox
CheckBox ,
tedy zaškrtávací políčko, je hojně využívané ve všech odvětvích programování,
nejčastěji nám umožňuje si vybrat, zda chceme danou možnost využít, či nikoliv.
Jeho použití je velmi jednoduché a intuitivní. Jeho vlastnost Value může nabývat těchto hodnot:
0 - nezaškrtnuto
1 - zaškrtnuto
2 - šedé.
Jiné možnosti tohoto prvku nás zatím příliš zajímat nemusí. Zde je
opět kousek kódu, ve kterém je použití CheckBoxu.
Private Sub Command1_Click()
If Check1.Value = 1 Then
Print "Zaškrtnuto"
Else
Print "Nezaškrtnuto"
End If
End Sub
Více není snad potřeba ani říkat, prostě pokud je zaškrtnut, tak jeho vlastnost Value má hodnotu 1, pokud není tak má hodnotu 0.
6.5 OptionButton
OptionButton je skoro totéž jako CheckBox, jenže ten už třetí hodnotu nemá. Vlastnost Value má pouze hodnotu True, je-li vybrán, a False, pokud vybrán není. Kód je podobný jako pro CheckBox, opět jen krátká ukázka.
Private Sub Command1_Click()
Select Case True
Case Is = Option1.Value
Print "Vybrán první"
Case Is = Option2.Value
Print "Vybrán druhý"
Case Is = Option3.Value
Print "Vybrán třetí"
End Select
End Sub
Zde se již nepoužívají hodnoty 0 a 1, ale využívají se True a False, na to pozor, to se plete. A ještě je zde jedna důležitá věc, a to, že do jednoho formuláře nemůžete dát tyto OptionButtony jen tak pro víc výběrů, protože by vám šel vybrat vždy jen jeden, a to u CheckBox nehrozí. Proto je zde v následující části popsán Prvek Frame, tedy rámec, takový kontejner na prvky.
6.6 Frame
Frame je vlastně takový kontejner na objekty. Pokud potřebujete při vývoji pracovat třeba se skupinou prvků, kterých je třeba třicet a potřebujete je mít všechny tak jak jsou, akorát je všechny zároveň sem tam někam posunout, nebo pokud potřebujete použít OptionButton tak, že potřebujete, aby uživatel mohl zvolit dva najednou, tj. aby byly dva výběry. Když třeba potřebujete, aby uživatel zadal rychlost připojení a ve stejném okně typ připojení, nebo tak podobně, tak bez Framu je to takřka nemožné. Objekty se na Frame vkládají tak, že se první vloží Frame a potom se na něj vkládají objekty. Objekty do Framu nejdou přesouvat z formuláře! Ve Framu musí být vytvořeny, aby mohly být jeho součástí.
6.7 Pojmenovávání objektů.
Již známe mnoho objektů, tak by asi bylo záhodno vám říci, jak se které objekty pojmenovávají, jelikož u velkých projektů je značně nepraktické nechávat jim ta jména, která jim přidělil program. Za tím účelem je velmi praktické používat tříznakovou zkratku na začátku jména objektu:
Command Button
cmd...
Label
lbl...
TextBox
txt...
PictureBox
pic...
Timer
tmr...
HScroll a Vscroll
hsb... a Vsb...
ComboBox
cbo...
ListBox
lst...
CheckBox
chb...
OptionButton
opt...
Frame
fra...
Form
Frm...
Místo teček si doplníte vlastní název, třeba fraBarvy nebo lstUzivatele a tak podobně.
6.8 Domácí úkol
Za domácí úkol mi vytvoříte vlastní nastavení nějakého fiktivního programu. Tak využijete všech v této lekci popsaných objektů. Jejich nastavení však nebudete provádět v tabulce properties, ale pěkně je napíšete do procedury Form_Load. Nezapomeňte na možnost MultiSelectingu. Nezapomeňte také na to, že uživatel by měl vědět, jaké hodnoty nastavuje, a to včetně toho, že by měl znát číselné hodnoty nastavené na ScrollBarech. A pokud byste si troufli na to udělat pomocí vertikálního posuvníku ještě textovou nabídku, třeba jako v MSIE (Microsoft Internet Explorer), kde si vybíráte míru zabezpečení tak, aby se vybraná hodnota zobrazila třeba tučně. Tak by to bylo naprosto super. Poradím jediné slovo podmínky. A ještě doplním, že tloušťka písma se nastavuje pomocí:
Label1.FontBold = True ' tučné
Label1.FontBold = False
Nezapomeňte také na to, že existují i vlastnosti Default a Cancel pro tlačítka.
6.9 V další lekci
Písmo a jeho vlastnosti, tvorba menu, moduly, funkce, veřejné proměnné, vkládání a používání více formulářů.