17.2 Práce s prvky objektu
17.3 Vlastnosti projektu
17.4 Domácí úkol
17.5 V další lekci..
17.1 Formuláře MDI
Pokud máte v plánu nějaký větší projekt, tak tohle vám určitě usnadní práci. Určitě to znáte. Jsou to plovoucí okna v jednom okně hlavním. Třeba různé formuláře obsahující různé nástroje s různými funkcemi. Tady je ukázka z jednoho mého zatím nedokončeného projektu. Je to ukázka oněch MDI formulářů. Není na nich nic složitého, ale nevyplatí se to využívat, pokud máte třeba jen tři formuláře. Hned vám popíšu, jak dosáhnout toho, aby byly. Vytvoříme si standardní formulář. Dále jako byste chtěli vložit nový formulář, ale místo obyčejného formuláře vložíme formulář MDI. To bude rodičovský formulář pro ostatní formuláře, tedy formuláře dceřiné. To jsou ty uvnitř. Pokud chcete z některého formuláře udělat dceřiný, musíte mu nastavit vlastnost MDIChild na True. Pokud budete chtít najednou zobrazit nějaké formuláře, zadejte kód:
Private Sub MDIForm_Load()
Load Form2
Form2.Show
End Sub
Na jejich používání není nic složitého, co by vám mělo komplikovat život. Spíš naopak by vám měly pomoci usnadnit si práci při ovládání vašich programů a jejich využití je vhodné třeba u programů, které jsou podobné těm, jako je malování, nebo těm, které obsahují nesčetná množství formulářů, jež chcete mít neustále na očích. Pracovní plocha MDI formuláře se zvětšuje s plochou, kterou zabírají dceřiné formuláře, a to tím způsobem, že se zobrazí posuvník.
17.2 Práce s prvky
Představte si, že pomocí modulu provádíte nějaký úkon a využíváte prvky z jednoho formuláře. Takže musíte vypisovat celou cestu k vlastnosti. A to třeba takto:
V modulu:
Sub secti()
Form2.Text3 = Val(Form2.Text1) + Val(Form2.Text2)
End Sub
Ve formuláři:
Private Sub Command1_Click()
secti
End Sub
Nebo pokud to uděláte pomocí proměnných, které nahrazují objekty, může to vypadat takto:
V modulu:
Sub secti(cislo1 As TextBox, cislo2 As TextBox, vysledek As TextBox)
vysledek = Val(cislo1) + Val(cislo2)
End Sub
Ve formuláři:
Private Sub Command1_Click()
secti Text1, Text2, Text3
End Sub
Z příkladu by mělo být jasné, jak to funguje, ale přece jen to trochu přiblížím; měli byste si ještě pamatovat, jak jsme probírali procedury a funkce, tak tady se k nim opět vracíme, ale jako proměnnou vlastně používáme objekt, takže s ním můžeme jako s objektem pracovat. Třeba takto můžeme změnit barvu pozadí:
Sub chngclr(cislo1 As TextBox)
cislo1.BackColor = RGB(256, 128, 0)
End Sub
A tak můžeme s objektem pracovat v modulech. Možná vám to přijde zbytečné, ale nenechte se zmýlit. Pokud děláte rozsáhlé projekty, je to mnohem čistší a přehlednější řešení. Určitě jej budeme hodně využívat, protože velmi zjednodušuje práci, a především výrazně zpřehledňuje zdrojový kód.
17.3 Vlastnosti projektu
Jelikož věřím, že už něco umíte a třeba byste si chtěli i nějaký program nebo třeba jen prográmek rozšířit a chcete, aby vypadal trošku profesionálněji, můžete se chvilku věnovat vlastnostem projektu. Okno s tímto nastavením najdeme v nabídce Project >> Projekt properties. V okně je pět záložek. Nás budou zajímat první tři. Další dvě záložky slouží pro kompilaci komponent ActiveX a knihoven DLL. V první záložce si můžeme zvolit typ toho, co budeme kompilovat. Zdali to bude standardní projekt EXE nebo knihovna či komponenta ActiveX. Vedle si pak můžeme vybrat, který formulář bude aplikaci začínat, tedy ten, který se zobrazí jako první. V dalším řádku si můžete projekt pojmenovat. Dále si můžeme vybrat soubor, ze kterého budeme čerpat nápovědu. A popis projektu.
V další záložce s popiskem Make si můžeme zvolit verzi programu a to tak, že v prvním si vybíráme hlavní číslo, ve druhém vedlejší číslo a ve třetím políčku si vybíráme číslo revize. Potom si můžeme vybrat titulek aplikace a formulář, ze kterého bude použita ikona na ikonu programu. A ještě můžeme naši aplikaci obohatit o nějaké informace o společnosti apod.
Další záložka nastavuje charakter kompilace a její optimalizaci. Tato záložka není příliš podstatná.
17.4 Domácí úkol
Vytvořte program, který bude počítat různé veličiny a pro každou z nich bude potřeba jeden formulář, tyto formuláře budou na jednom rodičovském, v jehož menu si budeme moci vybírat, co budeme počítat a jaký formulář se nám zobrazí a navíc se vše bude počítat přes moduly.
17.5 V další lekci
Funkce API