Programujeme vo Visual Basicu VI.

Peter Hrdlica  /  23. 11. 2006, 00:00

S ľútosťou Vám musíme oznámiť, že tento diel seriálu o programovaní vo VB je zatiaľ aj posledným dielom. Vzhľadom na postupnú, ale rozsiahlu zmenu štruktúry, sme sa rozhodli tento seriál dočasne pozastaviť. Neskôr sa v ňom bude pokračovať.

Menu

Aj vo VB sa dá pracovať s položkami menu. Editáciu menu spustíte jednoducho kliknutím na ikonu v panely nástrojov



Skúsime si vytvorenie menu: Do položky Caption napíšme popis tlačidla, ak si vezmeme príklad z textových editorov, tak prvé tlačidlo menu je „Súbor“, do kolónky name napíšeme meno tlačidla, pomocou ktorého sa na tlačidlo odvoláme, napr. „menu“

Ak chceme vytvoriť ďalšiu položku menu, ktorá sa bude nachádzať od vytvoreného tlačidla vpravo, tak stačí stlačiť tlačidlo Next a proces zopakovať. Ak však chceme aby sa nám menu i rozbaľovalo, tak po stlačení tlačidla Next ešte klikneme na šípku vpravo. Tým sa vytvorí ďalšia pod-položka a ak sa zase chceme vrátiť o stupeň naspäť stačí stlačiť šípku vľavo.


Jednoduché a prehľadné rozhranie na editáciu menu

Ak chcete do menu pridať klávesovú skratku, napr. Ctrl+O, otvorte si rozbaľovacie menu položky Shortcut. Po použití klávesovej skratky sa aktivuje handler pre dané tlačidlo i bez toho aby naň bolo treba kliknúť.

Ak položka Visible nebude zaškrtnutá, potom tlačidlo nebude viditeľné a ak nebude zaškrtnutá položka Enabled, tak tlačidlo nebude stlačiteľné. Tieto nastavenia možno meniť i za behu aplikácie rovnako ako pri normálnych tlačidlách.

Ak je potrebné ešte pridať medzi niektoré položky menu ďalšiu, je tak možné urobiť po kliknutí na tlačidlo Insert. Nová položka menu sa vtedy vytvorí pred označenú položku. Vymazanie poznačenej položky prebehne ihneď po kliknutí na tlačidlo Delete. Hotové menu uložíte kliknutí na tlačidlo OK.


Ukážka menu…

Ovládací prvok – Rich Text Box

Rich text format je obohatený textový formát, ktorý podporuje zmenu farby písma, pozadia, zarovnávanie atď, čo obyčajný textový formát, ktorý je využívaný aj ovládacím prvkom Text Box nepodporuje.

Rich Text Box pridáte do projektu nasledovne, keďže štandardná paleta ovládacích prvkov ho nemá: Project > Components ( Ctrl+T). Otvorí sa Vám okno s niekoľkými záložkami. Na záložke Controls zaškrtnite prvok Microsoft Textbox Control 6.0 (Ak máte nainštalovanú iba obyčajnú verziu VB, musíte komponent Rich Text Box nainštalovať). Následne by sa Vám mala objaviť ikona Rich Text Boxu.




Ovládací prvok – Common Dialog

Ovládací prvok Common Dialog veľmi úzko súvisí s prvkom Rich Text Box, ale nie len s ním. Common Dialog pridáme analogicky ako Rich Text Box, iba vyberieme položku Microsoft Common Dialog Control 6.0.

Common Dialog slúži na zobrazovanie systémových dialógových okien, napr. pre uloženie, otvorenie, písmo, tlač, atď. Common Dialog je rovnako ako Timer pre užívateľa neviditeľný.




Aplikácia – textový editor

Vytvoríme si jednoduchý textový editor, ktorý bude ukladať, načítať, tlačiť.

Nakreslite na formulár teda jeden prvok Rich Text Box, Common Dialog a vytvorte menu, s polžkami Nový, Uložiť, Otvoriť, Tlačiť a Koniec.

Do tlačidla „Nový“ vpíšme len úplne jednoduchý handler, ktorý vyprázdni textové pole:

Private Sub new_Click()
RichTextBox1.Text = ""
End Sub

Handler pre tlačidlo „Otvoriť“ bude už trochu zložitejší:

Private Sub open_Click()
CommonDialog1.CancelError = True
On Error GoTo errhandler:
CommonDialog1.ShowOpen
RichTextBox1.LoadFile CommonDialog1.FileName
errhandler:
End Sub

Rozbor: CommonDialog1.CancelError = True – vynúti chybu pri stlačení tlačidla Cancel. Errhandler – zabezpečí aby sa aplikácia nezrútila pri kliknutí na tlačidlo Cancel pri otváraní súboru. ShowOpen je príkaz, ktorý udáva Common Dialogu čo má vykonať (existuje mnoho ďalších funkcií, ktoré môže Common Dialog zobraziť), tomto prípade zobrazí systémový dialóg pre otvorenie súboru. RichTextBox1.LoadFile = načítaj súbor do prvku RichTextBox. CommonDialog1.FileName = cesta k označenému súboru v dialógovom okne.

Tlačidlo „Uložiť“:

Private Sub save_Click()
CommonDialog1.CancelError = True
On Error GoTo Errhandler:
CommonDialog.ShowSave
RichTextBox1.SaveFile CommonDialog1.FileName, rtfRTF
Errhandler:
End Sub

Rozbor: rtfRTF určuje, že súbor sa uloží ako .rtf

Každý textový editor dokáže aj tlačiť, takže si ukážeme i handler pre tlačidlo „Vytlač“:

Private Sub print_Click()
RichTextBox1.SelPrint (Printer.hDC)
End Sub

Rozbor: SelPrint – odošle text obsiahnutý v ovládacom prvku na tlačiareň, Printer.hDC .

Ďalšie funkcie textového editora


1. Zmena rezu, farby a veľkosti písma je tiež jednou zo základných vlastností textových editorov. Na toto tiež použijeme prvok Common Dialog.

Tlačidlo „Písmo“

Private Sub Command1_Click()
CommonDialog1.CancelError = True
On Error GoTo Errhandler:
CommonDialog1.Flags = cdlCFEffects Or cdlCFBoth
CommonDialog1.ShowFont
RichTextBox1.SelFontName = CommonDialog1.FontName
RichTextBox1.SelFontSize = CommonDialog1.FontSize
RichTextBox1.SelColor = CommonDialog1.Color
RichTextBox1.SelBold = CommonDialog1.FontBold
RichTextBox1.SelItalic = CommonDialog1.FontItalic
RichTextBox1.SelUnderline = CommonDialog1.FontUnderline
RichTextBox1.SelStrikeThru = CommonDialog1.FontStrikethru
Errhandler:
End Sub

Rozbor: CommonDialog1.Flags = cdlCFEffects Or cdlCFBoth – nastaví špeciálne efekty a nastavenia písma.

2. Prevod označeného textu na veľké / malé písmená.

RichTextBox1.SelText = UCase(RichTextBox1.SelText) – veľké písmená
Ak zameníte UCase za LCase, tak sa text bude meniť na malé písmená.

Úlohy

1.Upravte textový editor tak, aby sa po zmenách v textovom poli po kliknutí na tlačidlo „Nový“ najprv program opýtal na uloženie zmien. Použite premennej typu boolean pre RixhTextBox

2.Pridajte tlačidlo ukončiť, ktoré sa takisto opýta po zmenách, či sa má súbor uložiť alebo nie(použitie modálnych okien je estetické a jednoduché).

Neprehliadnite: