Visual Basic Díl 8. - Aplikace s více formuláři
Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: S0meB0dy
Datum: 17.9.2004
Hodnocení/Hlasovalo: 2.67/3
V osmém díle seriálu si ukážeme jak pracovat s více formuláři najednou.
K čemu více formulářů ?
Více formulářů se hodí např. pokud chcete udělat nějaký nadstandardní dialog a nebo jednoduše
kvůli přehlednosti, k tomu se hodí skvěle hodí MDI Formuláře, ale o tom až za chvíli.
Přidání a odebrání
Nový formulář přidáte přes Project -> Add Form, zobrazí se vám nabídka kde můžete vybrat z předem
připravených formůlářů a nebo dokonce přidat již hotový z hardisku, jsou to soubory s příponou
.frm
Odebrání formuláře pak provedete přes Projdect Manager, kliknete na formulář pravým tlačítkem a
vyberete Remove název_formuláře
Pozn.: Každý formulář má svůj vlastní programový kód.
MDI Formuláře
MDI Formulář je jakési pozadí pro ostatní formuláře, na MDI formuláře můžete však přidávat jen některé
komponenty.
1. Přidejte do projektu MDI Formulář přes Project -> Add MDI Form.
2. Vraťte se na Form1 a změňte jeho vlastnost MDIChild na True.
3. Nyní program spusťte a Form1 by se měl objevit v MDIForm1.
Ovládání jednoho formuláře z druhého
1. Vložte do projektu nový formulář(Form2).
2. Na Form2 vložte CommandButton(cmdUnload) a Label(lblBarva).
3. Poklepejte na cmdBarva a pište:
Unload Form2
4. Teď se vraťte na Form jedna a vložte na něj 2x CommandButton(cmdCervena);(cmdZelena).
5. Poklepejte cmdCervena a pište:
Load Form2
Form2.Visible = True
Form2.lblBarva.Caption = "Červená"
Form2.BackColor = &HFF&
6. Obdobně napište kód i pro cmdZelena:
Load Form2
Form2.Visible = True
Form2.lblBarva.Caption = "Zelená"
Form2.BackColor = &HFF00&
7. - Spusťte program a po kliknutí na cmdCervena by se měl zobrazit Form2 s červeným pozadím poté
klikněte na cmdUnload a formulář by měl zmizet. Co udělá tlačítko cmdZelená je jistě všem jasné.
Rozbor kódu
Unload Form2 zajistí že Form2 nejen zmizí, ale také se uplně vymaže z paměti. Opakem je
Load Form2, kdy se Form2 zavede do paměti, avšak nezobrazí se. To musíme zajistit příkazem
Form2.Visible = True. Dále pak příkazem Form2.lblBarva.Caption = "Barva" jsme řekli, že
se bude pracovat s formulářem Form2, Komponentou lblBarva a její vlastností Caption kterou jsme
nastavili na Barva. Form2.BackColor = &Barva v hexadecimálním tvaru& jsme pak jednoduše
určily jaké bude mít Form2 pozadí.
Úloha
Zkuste několik předchozích aplikací začlenit do jednoho MDI Formuláře.