Serißl - 13. dφl
DalÜφ ovlßdacφ prvky
15. DalÜφ ovlßdacφ prvky
15.1 TreeView
15.2 ListView
15.3 StatusBar
15.4 ToolBar
15.5 CoolBar
15. DalÜφ ovlßdacφ prvky
DneÜnφ dφl serißlu bude o n∞kter²ch ovlßdacφch prvcφch, o kter²ch jeÜt∞ nic nevφte (alespo≥
ne z tohoto serißlu), ale kterΘ se pou₧φvajφ ve spoust∞ aplikacφ ve Windows. VÜechny
prvky, kterΘ jsou zde popsanΘ, nejsou standardn∞ za°azeny v panelu nßstroj∙, musφte je
p°idat z menu Project -> Components, polo₧ka
Microsoft Windows Common Controls.
15.1 TreeView
Prvek TreeView zobrazuje seznam polo₧ek v n∞jakΘ stromovΘ neboli hierarchickΘ struktu°e. Jak vypadß
jeho pou₧itφ v praxi m∙₧ete vid∞t nap°. v Pr∙zkumnφkovi. Jeho levΘ okno je prvek TreeView.
Ka₧dß jeho polo₧ka je reprezentovßna objektem Node v kolekci Nodes .
P°idßvßnφ, mazßnφ a p°φstup k jednotliv²m polo₧kßm je tedy logicky p°es tuto kolekci.
P°idßvßnφ polo₧ky provßdφ metoda Add . NejjednoduÜÜφ p°idßnφ vypadß takto:
With TreeView1.Nodes
.Add , , , "Prvnφ polo₧ka stromu"
.Add , , , "Druhß polo₧ka stromu"
.Add , , , "T°etφ polo₧ka stromu"
End With
Proto₧e je tento prvek pou₧φvßn hlavn∞ pro vytvo°enφ stromovΘ struktury a ne pouze jednoduchΘho
seznamu jako v p°edchozφm p°φpad∞, musφte pou₧φt i ostatnφ parametry metody. Prvnφ parametr
urΦuje klφΦ polo₧ky, ke kterΘ se bude ta kterou prßv∞ vytvß°φte n∞jak²m zp∙sobem
vztahovat. Druh² urΦuje typ vztahu a t°etφ samotn² klφΦ polo₧ky. Typ∙ vztahu (relace) existuje
p∞t. Prvnφ Φty°i, tvwFirst , tvwLast , tvwNext a
tvwPrevious , urΦujφ, kam se p°idßvanß polo₧ka umφstφ, jestli jako prvnφ, poslednφ,
dalÜφ (za zadanou) nebo p°edchozφ (p°ed zadanou). Poslednφ mo₧nost, tvwChild znamenß,
₧e vklßdanß polo₧ka je "dφt∞tem" zadanΘ a zobrazφ se p°i poklepßnφ na zadanou polo₧ku. P°esn∞ji
to pochopφte na p°φkladu.
With TreeView1.Nodes
.Add , , "x1", "Prvnφ polo₧ka stromu"
.Add , , "x2", "Druhß polo₧ka stromu"
'Vytvo°φ dv∞ polo₧ky, jejich₧ rodiΦ bude polo₧ka s klφΦem x1
.Add "x1", tvwChild, "x3", "Prvnφ podpolo₧ka prvnφ polo₧ky"
.Add "x1", tvwChild, "x4", "Druhß podpolo₧ka prvnφ polo₧ky"
'Vytvo°φ polo₧ku, jejφ₧ rodiΦ bude polo₧ka s klφΦem x1, proto₧e
'ji uklßdß jako prvnφ (tvwFirst), ale v zßvislosti na polo₧ce s klφΦem x3
'kterß je zßvislß na x1
.Add "x3", tvwFirst, "x5", "T°etφ podpolo₧ka prvnφ polo₧ky"
End With
Poklepete-li na prvnφ polo₧ku, vypadß v²sledek takto:
NaÜemu p°φkladu ale jeÜt∞ n∞co chybφ a to je klasick² vzhled tohoto prvku. Aby u₧ivatel
lΘpe pochopil, co mß vlastn∞ s polo₧kami d∞lat, je dobrΘ zobrazit u ka₧dΘ, kterß lze rozbalit,
na levΘ stran∞ k°φ₧ek. Toto nastavenφ se °φdφ dv∞mi vlastnostmi. Prvnφ je LineStyle
a urΦuje, kde vÜude se budou zobrazovat Φßry. Pokud zadßte tvwTreeLines , budou
se zobrazovat pouze Φßry mezi polo₧kami a jejφmi rodiΦovsk²mi polo₧kami. Zadßte-li
tvwRootLines , zobrazφ se Φßry i mezi polo₧kami postaven²mi nejv²Üe, tzn. v ko°enu.
Druhß vlastnost, Style , urΦuje, co vÜechno se zobrazφ. Zda pouze text,
text a obrßzky, Φßry a text, plus/minus a text atd. R∙zn²ch kombinacφ je mo₧nΘ nastavit 8
(jde o kombinace zobrazenφ textu, obrßzk∙, Φar a znaku plus nebo mφnus). Tak nap°. kombinacφ
nastavenφ LineStyle na tvwRootLines a Style
na tvwTreelinesPlusMinusText lze dosßhnout tohoto efektu:
Nakonec, aby byl prvek kompletnφ, p°idßme ka₧dΘ polo₧ce n∞jak² obrßzek. Obrßzky
musφ b²t v prvku ImageList. Jeho pou₧itφ je jednoduchΘ. Umφst∞te jej na formulß°,
klikn∞te na vlastnost Custom , vyberte zßlo₧ku Images a pomocφ tlaΦφtka
InsertPicture vlo₧te po₧adovanΘ obrßzky. Tento ImageList potom p°i°a∩te
prvku TreeView tak, ₧e jeho nßzev zadßte do vlastnosti ImageList prvku
TreeView (klikn∞te na TreeView, na polo₧ku Custom a zde naleznete vlastnost ImageList ).
P°i pridßvßnφ polo₧ek do TreeView potom zadßvßte obrßzky jako poslednφ dva parametry
metody Add . Prvnφ je standardnφ obrßzek a druh² obrßzek, kter² se zobrazφ
p°i vybrßnφ polo₧ky. Obrßzky se zadßvajφ bu∩ indexem (po°adovΘ Φφslo v prvku ImageList)
nebo klφΦem (klφΦ obrßzku v prvku ImageList).
'Prvnφ dva prvky budou mφt prvnφ obrßzek ImageListu standardn∞ a druh² p°i vybrßnφ polo₧ky
'DalÜφ t°i polo₧ky budou mφt v₧dy druh² obrßzek ImageListu
With TreeView1.Nodes
.Add , , "x1", "Prvnφ polo₧ka stromu", 1, 2
.Add , , "x2", "Druhß polo₧ka stromu", 1, 2
.Add "x1", tvwChild, "x3", "Prvnφ podpolo₧ka prvnφ polo₧ky", 2
.Add "x1", tvwChild, "x4", "Druhß podpolo₧ka prvnφ polo₧ky", 2
.Add "x3", tvwFirst, "x5", "T°etφ podpolo₧ka prvnφ polo₧ky", 2
End With
V²sledek potom vypadß takto:
Vymazßnφ urΦitΘ polo₧ky je velmi jednoduchΘ, provedete jej pomocφ metody Remove .
Jako parametr zadßte bu∩ index polo₧ky, nebo, co₧ je urΦit∞ p°ehledn∞jÜφ, jejφ klφΦ. Nap°.
smazßnφ polo₧ky "Prvnφ polo₧ka stromu" z p°edchozφho p°φkladu provedete takto:
TreeView1.Nodes.Remove "x1"
Pokud polo₧ka obsahuje n∞jakΘ dalÜφ (jako v naÜem p°φkladu), vyma₧ou se takΘ. Chcete-li
smazat vÜechny polo₧ky, pou₧ijte metodu Clear .
Tento prvek mß samoz°ejm∞ spoustu dalÜφch mo₧nostφ, jak pracovat s polo₧kami, popis
vÜech by byl pro nßÜ serißl moc obsßhl². Proto uvedeme pouze n∞kolik vlastnostφ, metod
a udßlostφ, kter²ch byste si m∞li vÜimnout a podφvat se do nßpov∞dy, k Φemu p°esn∞ slou₧φ.
Vlastnosti: LabelEdit , HideSelection , Sorted ,
CheckBoxes , HotTracking , Scroll a SingleSel .
Metody: HitTest , StartLabelEdit
Udßlosti: Collapse , Expand , NodeClick a NodeCheck
Nakonec je t°eba jeÜt∞ jednou zmφnit objekt Node , pomocφ n∞j₧ m∙₧ete
upravovat vlastnosti jednotliv²ch polo₧ek, nap°. vlastnost Bold pro tuΦn²
text atd.
Zp∞t na obsah
15.2 ListView
Prvek ListView slou₧φ k zobrazenφ seznamu polo₧ek n∞kolika zp∙soby.
M∙₧ete zobrazit jednoduch² seznam s obrßzky nebo bez, nebo polo₧ky i s jejφmi dalÜφmi vlastnostmi.
Tento prvek je ve Windows 9x hojn∞ pou₧φvan². Kter² to je, zjistφte nap°. poklepßnφm
na ikonu tento poΦφtaΦ. Okno, ve kterΘm jsou zobrazeny disky atd. je prvek ListView. Jak
vypadajφ typy zobrazenφ zase zjistφte kliknutφm na menu Zobrazit a vybrßnφm jednΘ
ze Φty° polo₧ek (VelkΘ ikony, MalΘ ikony, Seznam a Podrobnosti.
Pou₧φvßnφ tohoto prvku je na prvnφ pohled velmi podobnΘ pou₧itφ prvku TreeView.
JednotlivΘ polo₧ky seznamu jsou reprezentovßny objektem ListItem v kolekci ListItems .
P°idßnφ polo₧ky se provede metodou Add . Prvnφ parametr je index, kter² urΦuje
pozici. Pokud jej nezadßte, p°idß se na konec seznamu. Druh² parametr je klφΦ polo₧ky. T°etφ
je text polo₧ky. ╚tvrt² a pßt² parametr jsou stejn∞ jako u TreeView indexy nebo klφΦe obrßzk∙
z prvku ImageList. ╚tvrt² je velkß ikona a pßt² malß. Proto₧e se pou₧φvajφ malΘ i v∞tÜi ikony,
je mo₧nΘ p°i°adit prvku dva ImageListy, jeden logicky pro malΘ ikony a druh² pro velkΘ (m∙₧e
jφt o stejn² ImageList). P°i°azenφ se provßdφ kliknutφm na vlastnost Custom ,
vybrßnφm zßlo₧ky ImageList a zadßnφm nßzv∙ ImageList∙.
P°idßnφ t°φ polo₧ek m∙₧e vypadat t°eba takto:
With ListView1.ListItems
.Add , "x1", "Prvnφ polo₧ka", 1, 2
.Add , "x2", "Druhß polo₧ka", 1, 2
'P°idßnφ polo₧ky na prvnφ mφsto
.Add 1, "x3", "T°etφ polo₧ka", 1, 2
End With
Zp∙soby zobrazenφ polo₧ek se zadßvajφ vlastnostφ View . Mo₧nΘ hodnoty jsou
lvwIcon , zobrazenφ s ikonami zadan²mi ve ΦtvrtΘm parametru (v∞tÜinou velk²mi 32*32),
lvwSmallIcon , zobrazenφ s mal²mi ikonami (pßt² parametr, v∞tÜinou velikost 16*16),
lvwList , polo₧ky zobrazenΘ pod sebou s mal²mi ikonami a
lvwReport , polo₧ky zobrazenΘ i s dalÜφmi vlastnostmi. Nejd°φve si ukß₧eme,
jak p°idat dalÜφ vlastnosti a potom jak jednotlivß zobrazenφ vypadajφ.
Nejprve musφte urΦit, kolik sloupc∙ bude zobrazeno. To provedete kliknutφm na vlastnost
Custom a vybrßnφm zßlo₧ky ColumnHeaders. Kliknutφm na tlaΦφtko
InsertColumn p°idßte jeden sloupec. Mimo jinΘ mu m∙₧ete zadat jeho text,
zarovnßnφ textu ve sloupci a Üφ°ku sloupce. Pro nßÜ p°φklad vytvo°te t°i sloupce. Narozdφl
od p°edchozφho p°φkladu p°idejte jeÜt∞ jeden ImageList. Jeden z nich napl≥te
ikonami o velikosti 32*32 a druh² ikonami o velikosti 16*16. Prvnφ p°i°a∩te do vlastnosti
Normal a druh² do SmallIcon (jak, u₧ vφte). K≤d pro napln∞nφ seznamu potom vypadß takto:
Dim lst As ListItem
With ListView1.ListItems
Set lst = .Add(, "x1", "Prvnφ polo₧ka", 1, 1)
lst.SubItems(1) = "Popis1"
lst.SubItems(2) = "Popis2"
Set lst = .Add(, "x2", "Druhß polo₧ka", 1, 1)
lst.SubItems(1) = "Popis1"
Set lst = .Add(1, "x3", "T°etφ polo₧ka", 1, 1)
lst.SubItems(2) = "Popis2"
End With
JednotlivΘ zp∙soby zobrazenφ potom vypadajφ v zßvislosti na nastavenφ vlastnosti
View takto:
lvwReport |
lvwIcon |
lvwSmallIcon |
lvwList |
Vymazßnφ polo₧ky se provßdφ volßnφm metody Remove bu∩ s indexem polo₧ky
nebo s klφΦem. Chcete-li vymazat vÜechny polo₧ky narßz, pou₧ijte metodu Clear .
Stejn∞ jako u TreeView se s tφmto prvkem ji₧ rozlouΦφme, proto₧e mß tolik mo₧nostφ, ₧e by nebylo
v silßch naÜeho serißlu vÜechny zde popsat. Proto op∞t ty nejd∙le₧it∞jÜφ, kterΘ si urΦit∞ najd∞te
v nßpov∞d∞ a vyzkouÜejte.
Vlastnosti: AllowColumnReorder , Arrange , FullRowSelect ,
GridLines , HideSelection , HotTracking , HoverSelection ,
CheckBoxes , LabelEdit , LabelWrap , MultiSelect ,
PictureAlignment , Sorted a TextBackground .
Metody: FindItem , GetFirstVisible , HitTest a
StartLabelEdit .
Udßlosti: ColumnClick , ItemCheck a ItemClick .
Zp∞t na obsah
15.3 StatusBar
StatusBar je prvek, kter² slou₧φ pro zobrazovßnφ nejr∙zn∞jÜφch stav∙ vaÜφ aplikace. Je zde dokonce mo₧nost pou₧φt p°eddefinovan²ch Φßstφ jako jsou hodiny, stav zßmk∙ na klßvesnici apod.
Stavov² °ßdek, jak lze nßzev tohoto prvku p°elo₧it, m∙₧e v zßvislosti na nastavenφ vlastnosti Style fungovat dv∞ma zp∙soby. Nastavφte-li ji na 1 - sbrSimple , StatusBar bude mφt pouze jednu Φßst, kde se bude zobrazovat pouze text, kter² zadßte do vlastnosti SimpleText. To je vÜe, co m∙₧ete p°i tomto nastavenφ s prvkem d∞lat.
Druhou mo₧nostφ nastavenφ vlastnosti Style je 0 - sbrNormal . V tomto p°φpad∞ je Ükßla mo₧nostφ, kterΘ StatusBar nabφzφ mnohem ÜirÜφ. Umo₧nuje posklßdat stavov² °ßdek z n∞kolika Φßstφ (panel∙). Je zde mo₧nΘ pou₧φt panely s Φasem, datumem a r∙znΘ indikßtory klßvesnice. Dßle je mo₧nΘ nastavovat i odliÜn² vzhled jednotliv²ch panel∙.
Bude-li mφt stavov² °ßdek konstantnφ vzhled, je nejjednoduÜÜφ jeho parametry nastavit pomocφ strßnek vlastnostφ p°i nßvrhu. Klepn∞te do okna Properties, a vn∞m poklepejte na vlastnost (Custom) . Zobrazφ se vßm okno se t°emi zßlo₧kami. V prvnφ zßlo₧ce General nastavφte obecnΘ vlastnosi StatusBaru. Ve druhΘ zßlo₧ce Panels pak vytvß°φte a nastavujete jednotlivΘ panely. Pro vlo₧enφ novΘho panelu klepn∞te na tlaΦφtko Insert Panel a pro odstran∞nφ panelu klepn∞te na tlaΦφtko Remove Panel. Pro pohyb po panelech pou₧φvejte polφΦka Index a tlaΦφtek s Üipkama, kterΘ le₧φ v pravo od n∞j. V nßsledujφcφ tabulce naleznete popis jednotliv²ch polφΦek (vlastnostφ), kterΘ lze u panelu nastavit.
Nßzev polφΦka (vlastnosti) |
Popis |
Text |
Text kter² bude v panelu zobrazen. Jestli₧e je vlastnost Style nastavena na hodnotu jinou ne₧ je sbrText , je tato vlastnost ignorovßna. |
ToolTipText |
Text, kter² bude zobrazen v bublin∞, zastavφte-li se kurzorem myÜi nad p°φsluÜn²m panelem. |
Alignment |
UrΦuje zp∙sob zarovnßnφ textu v panelu (na st°ed, do leva, do prava) |
Style |
Zde nastavφme typ obsahu panelu. Implicitnφ nastavenφ je 0 - sbrText , kterΘ urΦuje, ₧e se v panelu bude nßchßzet text z vlastnosti Text . Dßle je zde mo₧nΘ indikovat nastavenφ klßvesnice: 1 - sbrCaps , 1 - sbrNum , 1 - sbrIns , 1 - sbrScrl . Tato nastavenφ urΦujφ zdali jsou zapnuta Φi vypnuta velkß pφsmena (CapsLock), numerickß klßvesnice (NumLock), p°epis (pomocφ klßvesy Insert) a ScrollLock. Dßle je zde mo₧nΘ nastavit panel tak aby zobrazoval Φas (5 - sbrTime ) nebo datum (6 - sbrDate ). |
Bevel |
UrΦuje typ okraje, kter²m je panel ohraniΦen: 1 - sbrInset - zapuÜt∞n² okraj, 2 - sbrRaised - vystoupl² okraj, 0 - sbrNoBevel - bez okraje. |
AutoSize |
Zde nastavφte jestli se mß velikost panelu nastavovat automaticky. Jestli₧e zvolφte 1 - sbrSpring je zb²vajφcφ prostor na stavovΘm °ßdku rozd∞len mezi panely s tφmto nastavenφm. |
Minimum Width (MinWidth) |
Zde nastavenß velikost, znamenß p°i automatickΘm nastavovßnφ velikosti minimßlnφ dΘlku panelu. Jinak se jednß o jeho skuteΦnou velikost. |
Budete-li m∞nit panely za b∞hu programu, pou₧ijete kolekci Panels , kterß obsahuje vÜechny panely na StatusBaru. Pomocφ metod Add a Remove m∙₧ete p°idßvat a odstra≥ovat jednotlivΘ panely z kolekce. Chcete-li odstranit vÜechny panely najednou, pou₧ijte metodu Clear . Pro p°φstup k jednotliv²m panel∙m kolekce, zvolte stejn² postup jako u kterΘkoliv jinΘ kolekce. U nich pak m∙₧ete nastavovat vlastnosti uvedenΘ v tabulce. Uvedeme si p°φklad p°idßnφ jednoho panelu na StatusBar. Vlo₧te na formulß° StatusBar a jedno tlaΦφtko a potΘ vlo₧te do formulß°e nßsledujφcφ k≤d.
Private Sub Command1_Click()
Dim NewIndex As Long
NewIndex = StatusBar1.Panels.Count + 1
StatusBar1.Panels.Add NewIndex 'Vlo₧enφ novΘho panelu
With StatusBar1.Panels(NewIndex)
.Alignment = sbrRight 'zarovnßnφ textu do prava
.AutoSize = sbrSpring 'automatickß velikost
.Bevel = sbrRaised 'vystoupl² okraj
.MinWidth = 1500 'minimßlnφ velikost
.Text = "Pokus" 'text panelu
.ToolTipText = "Pokusn² panel"
End With
End Sub
Zp∞t na obsah
15.4 ToolBar
Prvek slou₧φ pro vytvß°enφ nßstrojov²ch liÜt. Pomocφ vlastnosti Style budete moci nastavit (1 - tbrFlat) i vzhled, kter² je podobn² nßstrojovΘ liÜt∞ Internet Exploreru, kdy obrysy tlaΦφtka vystupujφ a₧ ve chvφli, kdy nad nφm p°ejφ₧dφte myÜφ. Implicitnφ nastavenφ tΘto vlastnosti urΦuje vzhled s vystoupl²mi okraji tlaΦφtek.
Pokud bude vzhled ToolBaru nem∞nn² nebo bude mφt n∞jak² implicitnφ vzhled, je nejjednoduÜÜφ jeho vzhled navrhnout pomocφ strßnek vlastnostφ p°i nßvrhu aplikace. Vyberte ToolBar, poklepejte v okn∞ vlastnostφ na vlastnost (Custom) . V okn∞ kterΘ se vßm otev°e se nachßzejφ t°i zßlo₧ky. Pomocφ prvnφ m∙₧ete nastavovat obecnΘ vlastnosti platnΘ pro cel² ToolBar.
Nßzev polφΦka (vlastnosti) |
Popis |
ImageList |
UrΦuje prvek typu ImageList, kter² bude pou₧φvßn jednotliv²mi tlaΦφtky pro zφskßnφ obrßzk∙. |
DisabledImageList |
Zde se znovu zadßvß prvek ImageList, tentokrßt vÜak obrßzky v n∞m budou po₧ity pouze tehdy, je- li tlaΦφtko vypnuto. |
TextAlignment |
UrΦuje, zda-li se text tlaΦφtka umφstφ pod obrßzek nebo napravo od obrßzku. |
Style |
Nabφzφ dv∞ mo₧nosti stylu zobrazenφ ToolBaru. Je-li nastaveno na 0 - tbrStandard , jsou tlaΦφtka zobrazena s vystoupl²mi okraji. V p°φpad∞ nastavenφ 1 - tbrFlat je ToolBar zobrazen ve stylu Internet Exploreru. |
Warpable |
V p°φpad∞, ₧e se tlaΦφtka nevejdou do Üφ°ky ToolBaru, urΦφ tato vlastnost jestli se mß zalomit na dalÜφ °adek nebo mß pokraΦovat v mφstech, kterß jsou pro u₧ivatele neviditelnß. |
Po nastavenφ obecn²ch vlastnostφ m∙₧eme p°ikroΦit k vytvß°enφ tlaΦφtek (druhß zßlo₧ka). TlaΦφtka p°idßvßme a ruÜφme pomocφ tlaΦφtek Insert Button a Remove Button. Pohyb po tlaΦφtcφch provßdφme pomocφ polφΦka Index a tlaΦφtek se Üipkami, kterΘ k n∞mu p°ilΘhajφ. A potΘ lze nastavovat nßsledujφcφ vlastnosti:
Nßzev polφΦka (vlastnosti) |
Popis |
Caption |
Text tlaΦφtka |
Value |
UrΦuje stav tlaΦφtka, zdali je zmßΦknutΘ Φi nikoliv. |
Image |
UrΦuje index obrßzku v p°i°azenΘm ImageListu. Takto zadan² obrßzek je zobrazen v tlaΦφtku. |
Style |
Touto vlastnostφ nastavφte typ tlaΦφtka:
1 - tbrCheck | StavovΘ tlaΦφtko nabφzejφcφ stavy zapnuto a vypnuto (podobn∞ jako CheckBox) |
2 - tbrButtonGroup | Slou₧φ pro p°epφnßnφ mezi n∞kolika tlaΦφtky, kterΘ jsou nastaveny na stejnou hodnotu. Funguje stejn∞ jako prvek OptionButton. DalÜφ skupinu odd∞lφte pomocφ tlaΦφtka typu tbrSeparator . |
3 - tbrSeparator | Slou₧φ jako odd∞lovaΦ mezi tlaΦφtky. A to jak opticky tak logicky (rozd∞luje tlaΦφtka s nastavenφm tbrButtonGroup na skupiny. |
4 - tbrPlaceHolder | Slou₧φ pro vytvo°enφ mezery mezi tlaΦφtky. Jejφ Üφ°ku nastavφte pomocφ polφΦka Width:(Placeholder). Tuto mezeru m∙₧ete vyu₧φt takΘ pro umφst∞nφ dalÜφch prvk∙, nap°. ComboBoxu. |
5 - tbrDropdown | TlaΦφtko, vedle n∞j₧ je umφst∞na Üipka, kterß umo₧nφ vyrolovßnφ menu (viz text za tabulkou vlastnostφ). |
|
Ve spodnφ Φßsti zßlo₧ky Buttons se nachßzφ Φßst nazvanß ButtonMenus. Zde m∙₧ete k tlaΦφtku typu tbrDropDown vytvo°it menu. Polo₧ku do menu vlo₧φte pomocφ tlaΦφtka Insert ButtonMenu a odstranφte tlaΦφtkem Remove ButtonMenu. Pohyb po jednotliv²ch polo₧kßch provadφte pomocφ polφΦka Index a k n∞mu p°ilΘhajφcφm tlaΦφtk∙m se Üipkami. Po vybrßnφ p°φsluÜnΘ polo₧ky staΦφ vyplnit pouze polφΦko Text .
Pro ·pravy ToolBaru a jeho tlaΦφtek p°i b∞hu programu slou₧φ kolekce Buttons . V nßsledujφcφm p°φkladu si ukß₧eme, jak vytvß°et ToolBar za b∞hu programu a jak obsluhovat zßkladnφ udßlosti. Udßlost ButtonClick zachytßvß kliknutφ na tlaΦφtko, a udßlost ButtonMenuClick zachytφ kliknuti do menu n∞kterΘho tlaΦφtka typu tbrDropdown . Vytvo°te si nov² projekt a na formulß° vlo₧te prvek ToolBar. Dßle p°idejte nßsledujφcφ k≤d a m∙₧et zkouÜet co ToolBar dokß₧e.
Private Sub Form_Load()
'p°idß obyΦejnΘ tlaΦφtko
Toolbar1.Buttons.Add 1
With Toolbar1.Buttons(1)
.Caption = "TlaΦφtko"
.Style = tbrDefault
End With
'p°idß tlaΦφtko, kterΘ se bude chovat
'jako CheckBox
Toolbar1.Buttons.Add 2
With Toolbar1.Buttons(2)
.Caption = "Volba"
.Style = tbrCheck
End With
'p°idß dv∞ tlaΦφtka, kterß se budou chovat
'jako OptionButton
Toolbar1.Buttons.Add 3
With Toolbar1.Buttons(3)
.Caption = "V²b∞r 1"
.Style = tbrButtonGroup
End With
Toolbar1.Buttons.Add 4
With Toolbar1.Buttons(4)
.Caption = "V²b∞r 2"
.Style = tbrButtonGroup
End With
'p°idß separßtor
Toolbar1.Buttons.Add 5
Toolbar1.Buttons(5).Style = tbrSeparator
'p°idß tlaΦφtko s menu
Toolbar1.Buttons.Add 6
With Toolbar1.Buttons(6)
.Caption = "Menu"
.Style = tbrDropdown
.ButtonMenus.Add 1
.ButtonMenus(1).Text = "Polo₧ka 1"
.ButtonMenus.Add 2
.ButtonMenus(2).Text = "Polo₧ka 2"
End With
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
MsgBox "Kliknuto na tlaΦφtko:" & Button.Caption
End Sub
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
MsgBox "Kliknuto ne polo₧ku v menu:" & ButtonMenu.Text
End Sub
Zp∞t na obsah
15.5 CoolBar
K Φemu tento prvek slou₧φ? M∙₧ete jej vid∞t u nßstrojov²ch liÜt v Microsft Office 95 a nov∞jÜφch nebo v hlavnφm panelu u Windows 98 a nov∞jÜφch. Jednß se o ten prvek, kter² pomocφ v²stupku v levΘ Φßsti (p°φpadn∞ v hornφ Φßsti, kdy₧ je prvek orientovßn vertikßln∞) a umo₧≥uje p°esouvat a nastavovat velikost Φßstem nßstrojovΘ liÜty.
JednotlivΘ prou₧ky, kterΘ tento prvek obsahuje, vÜak nenahradφ ToolBar. Ka₧d² takov²to prou₧ek je mo₧nΘ svßzat s libovoln²m prvkem (nejb∞₧n∞jÜφ bude nejspφÜ ToolBar) a prou₧ek pak automaticky m∞nφ jeho velikost. Je d∙le₧itΘ aby prvek, kter² chcete svßzat s prou₧kem se nenachßzel na formulß°i, ale p°φmo na CoolBaru samotnΘm.
V nßvrhovΘm m≤du, m∙₧ete nastavovat a m∞nit vzhled CoolBaru pomocφ strßnek vlastnostφ, kterΘ vyvolßte poklepßnφm v okn∞ vlastnostφ na polo₧ku Custom . V prvnφ zßlo₧ce nastavujete obecnΘ vlastnosti, kterΘ jsou spoleΦnΘ pro cel² CoolBar.
Nßzev polφΦka (vlastnosti) |
Popis |
ImageList |
Zde se nastavφ prvek typu ImageList, z n∞ho₧ budou Φerpßny obrßzky pro jednotlivΘ pruhy CoolBaru. |
Orientation |
Nastavφ sm∞r CoolBaru na horizontßlnφ Φi vertikßlnφ. |
BandBorders |
UrΦuje, zda-li bude ka₧d² pruh ohraniΦen okrajem. |
FixedOrder |
Zajistφ, aby nebylo mo₧nΘ m∞nit po°adφ jednotliv²ch pruh∙. |
VariantHeight |
Je-li toto polφΦko zatr₧eno (vlastnost nastavena na True ) je mo₧nΘ aby jednotlivΘ °ßdky CoolBaru m∞ly rozdφlnou v²Üku. |
JednotlivΘ pruhy m∙₧ete nastavovat a vytvß°et v druhΘ zßlo₧ce. Ta mß stejn² nßzev (Bands ) jako kolekce, pomocφ kterΘ lze p°istupovat k pruh∙m z k≤du. Tato mß metody Add a Remove pro p°idßvßnφ a odstra≥ovßnφ. Jejich ekvivalentem jsou ve strßnkßch vlastnostφ tlaΦφtka Insert Band a Remove Band. Pro pohyb po jednotliv²ch pruzφch slou₧φ op∞t polo₧ka Index spolu s tlaΦφtky, kterΘ k n∞mu p°ilΘhajφ.
Nßzev polφΦka (vlastnosti) |
Popis |
Child |
UrΦuje, kter² prvek bude svßzßn s dan²m pruhem. |
Style |
Je-li tato vlastnost nastavena na cc3BandFixedSize , je velikost pruhu pevn∞ dßna a u₧ivatel ji nem∙₧e zm∞nit. |
Caption |
Text, kter² bude zobrazen na poΦßtku pruhu, a kter² rozÜφ°φ oblast, ve kterΘ lze chytit pruh a nßsledn∞ jej p°esovat. |
Image |
Funguje stejn∞ jako vlastnost Caption , s tφm rozdφlem ₧e zobrazφ obrßzek podle zadanΘho indexu z prvku ImageList. |
Na zßv∞r si ukß₧eme jak nastavovat CoolBar z k≤du. Vytvo°te nov² projekt a na formulß° vlo₧te prvek CoolBar. Do n∞j pak vlo₧te po jednom TextBoxu, CommandButtonu, CheckBoxu a prvku Frame. P°idejte nßsledujφcφ k≤d a spus¥te.
Private Sub Form_Load()
With CoolBar1.Bands(1)
.Caption = "Pruh 1"
Set .Child = Text1
End With
With CoolBar1.Bands(2)
.Caption = "Pruh 2"
Set .Child = Command1
End With
With CoolBar1.Bands(3)
.Caption = "Pruh 3"
Set .Child = Frame1
End With
CoolBar1.Bands.Add
With CoolBar1.Bands(4)
.Caption = "Pruh 4"
Set .Child = Check1
End With
End Sub
Private Sub Check1_Click()
'zapne a vypne pevnΘ po°adφ pruh∙
CoolBar1.FixedOrder = Check1.Value
End Sub
Zp∞t na obsah
|