cool web a perfektni rs- Doporucuji

Thursday, August 30, 2007

Způsob připojování počítačů

k digitálním okruhům a k veřejným datovým sítím definuje doporučení X.21 CCITT z roku 1976. To sice zasahuje až do síťové vrstvy (neboť obsahuje popis řízení činnosti v síti s přepojováním okruhů), na úrovni fyzické vrstvy však definuje počet a význam přenášených signálů i zapojení konektorů. Nedefinuje však již elektrické vlastnosti přenášených signálů - k tomuto účelu přejímá doporučení V.10/X.26 a V.11/X.27. Kromě doporučení X.21 existuje i alternativní doporučení X.21(bis), které je podmnožinou standardů RS-232-C/V.24, definuje způsob připojování k analogovým přenosovým sítím, a je zamýšleno jako dočasný standard pro dobu, kdy digitální sítě ještě nejsou všeobecně rozšířené.

Labels: ,

Tuesday, August 28, 2007

Standard RS-232-C

je již poměrně starého data (byl poprvé publikován v roce 1969). Koncem 70. let se jej organizace EIA rozhodla nahradit novějším standardem RS-449. Ten zavádí některé nové signály (především pro potřeby testování) a předpokládá použití jiných konektorů, na rozdíl od svého předchůdce však již nedefinuje elektrické charakteristiky přenášených signálů - pro ně přejímá standardy RS-423-A a RS-422-A.
Nový standard RS-449 se však přes velkou snahu organizace EIA v praxi neujal (zřejmě pro přílišnou komplikovanost oproti svému předchůdci). Proto EIA počátkem roku 1987 přišla s novou verzí (revizí D) standardu RS-232, nyní tedy s označení RS-232-D, která oproti verzi RS-232-C přidává dva nové signály (pro testování modemů).

Labels: ,

Sunday, August 26, 2007

Elektrické parametry a dosah signálů

Standard
EIA Doporučení
CCITT Obvody Maximální
dosah Logická 1
(u vysílače) Logická 0
(u vysílače)
RS-232-C V.28 nesymetrické 20 kbit/sekundu do 15 m -5 až -15 V +5 až +15V
RS-423-A V.10(X.26) nesymetrické 100 kbit/sekundu do 10 m
1 kbit/sekundu do 1000 m -4 až -6 V +4 až +6 V
RS-422-A V.11(X.27) symetrické 10 Mbit/sekundu do 10 m
100 kbit/sekundu do 1000 m -2 až -6 V +2 až +6 V

Saturday, August 25, 2007

Ačkoli byly oba tyto prakticky ekvivalentní standardy vyvinuty právě pro připojování modemů k počítačům a terminálů, používají se dnes i k jiným účelům, např. pro připojování tiskáren či jiných periferií (se sériovým rozhraním) k počítačům, a také ke vzájemnému propojování počítačů (tj. k propojování dvou zařízení DTE). V našem seriálu se budeme oběma těmito standardy ještě zabývat podrobněji.
Nevýhodou standardů RS-232-C a V.24 (+ V.28) je maximální dosah přibližně 15 metrů, a maximální přenosová rychlost do 20 kbit/sekundu. Většího dosahu a vyšších přenosových rychlostí lze obecně dosáhnout jen s elektrickými signály jiných parametrů. Proto byly vytvořeny další standardy (doporučení CCITT) V.10 a V.11, které jsou alternativou k doporučení V.28 (tj. definují právě a pouze elektrické parametry přenášených signálů). Předpokládají použití výkonnějších budičů a přijímačů (po řadě nesymetrických resp. symetrických, tj. takových, které přenášený logický signál vyjadřují napětím mezi jedním signálovým vodičem a zemí, resp. rozdílem napětí mezi dvěma signálovými vodiči), a umožňují dosahovat přenosové rychlosti až 10 Mbit/sekundu (viz tabulka 28.1). Doporučení V.10 a V.11 mají své ekvivalenty v doporučeních CCITT X.26 resp. X.27, a také v doporučeních EIA (konkrétně RS-423-A resp. RS-422-A).

Labels:

Thursday, August 23, 2007

Fyzická vrstva

Způsob připojování modemů k počítačům a terminálům definuje standard RS-232-C (Recommended Standard no. 232, revision C), pocházející od americké standardizační organizace EIA (viz 22. díl našeho seriálu). Ten vymezuje přesné rozhraní mezi dvěma druhy zařízení, které se v terminologii tohoto standardu označují jako DTE (Data Terminal Equipment, v překladu: KZD neboli Koncové Zařízení přenosu Dat), a DCE (Data Circuit-Terminating Equipment, v překladu: UZD neboli Ukončující Zařízení Datového okruhu - viz 8. díl našeho seriálu). Zařízením DTE je např. počítač nebo terminál, zatímco zařízením DCE je modem. Standard RS-232-C definuje nejen počet a význam jednotlivých signálů rozhraní mezi zařízeními DTE-DCE, zapojení konektorů, ale také elektrické parametry přenášených signálů (mj. napěťové úrovně, které vyjadřují jednotlivé stavy těchto signálů). Prakticky shodný standard resp. doporučení s označení V.24 pochází od organizace CCITT (liší se jen v několika málo zřídka používaných signálech). Doporučení V.24 však na rozdíl od standardu RS-232-C nedefinuje přesné elektrické parametry přenášených signálů (v terminologii doporučení V.24: obvodů) - ty specifikuje až doplňkové doporučení V.28.

Wednesday, August 22, 2007

zaver

Volba barvy číslic v dialogovém okně barva
Chcete-li uživateli povolit pouze změnu barvy číslic, nikoli atributy písma, bude lepší, když mu zpřístupníte
dialogové okno Barva. Postup je opět analogický jako v předchozích případech, ale jedná se o ovládací
prvek ColorDialog a návratová hodnota (barva, kterou uživatel vybral) je dána vlastností Color.
Za předpokladu, že jste do prostřední nabídky přidali třetí příkaz a prvek nabídky pojmenovali mnuItemBarvaČíslic,
může kód událostní procedury Click tohoto prvku vypadat takto (uvádím poněkud
jinou variantu řešení než v předchozích ukázkách):
Public Sub mnuItemBarvaČíslic_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles mnuItemBarvaČíslic.Click
Dim ctl As Label
If mnuPřizpůsobit.Menuitems(2).Text = "Změnit &barvu číslic" Then
ColorDialog1.ShowHelp = True
ColorDialog1.ShowDialog()
For Each ctl In panel1.Controls
If TypeOf ctl Is Label Then
ctl.ForeColor = ColorDialog1.Color
End If
Next
mnuItemBarvaČíslic.Text = "&Vrátit původní barvu"
Else
For Each ctl In panel1.Controls
If TypeOf ctl Is Label Then
ctl.ForeColor = PůvodníBarva
End If
Next
mnuItemBarvaČíslic.Text = "Změnit &barvu číslic"
End If
End Sub

Labels:

Tuesday, August 21, 2007

Náměty na procvičování

Umožněte uživateli měnit nejen název písma, ale i jiné atributy písma. Povolíte-li změnu velikosti, mělo
by to být v nějakých rozumných hranicích a zároveň by se podle nové velikosti měla změnit velikost objektů
Label, případně i panelu, v němž jsou objekty popisků umístěny.
Zvolí-li uživatel „obrázkové písmo“ (jako Wingdings), překódujte vylosované číslice na takové „obrázky“
z daného písma, které jsou podle vašich představ nejatraktivnější.
Předělejte kód událostní procedury tak, aby nebyl závislý na konkrétních textech prvku nabídky nebo aby
přiřazoval hodnotu vlastnosti v cyklu.

Labels:

Sunday, August 19, 2007

Základní konstrukce If procedury

je opět založena na hodnotě vlastnosti Text prvku nabídky. Je-li to původní
text, znamená to, že se popisky zobrazují původním písmem a uživateli se proto zobrazí dialogové okno
Písmo. Je-li to jiný text, znamená to, že uživatel už název písma změnil, takže se vrátí původní písmo,
původní barva a původní text prvku nabídky.
Dialogové okno Písmo, které se hráči zobrazí, když z nabídky na hlavním formuláři zvolí Přizpůsobit >
Změnit název písma, bude vypadat takto (uživatel si už něco v okně vybral):
Také u dialogového okna Písmo můžete předem nastavit některé vlastnosti a přizpůsobit jeho vzhled konkrétním
potřebám. Například:
ShowColor umožňuje zobrazit seznam, v němž uživatel volí barvu písma.
ShowEffects umožňuje uživateli volit efekty (jako je přeškrtnuté písmo)
Dialogové okno Písmo zobrazíte tak, že zavoláte metodu ShowDialog objektu FontDialog. Atributy
písma, které uživatel v dialogovém okně zvolil, máte k dispozici prostřednictvím generické vlastnosti Font
objektu FontDialog, barvu písma ve vlastnosti Color. Písmo popisků se nastaví pomocí konstruktoru třídy
Font pojmenovaného prostoru System.Drawing.

Labels:

Napište událostní proceduru Click tohoto prvku nabídky:
Public Sub mnuItemNázevPísma_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles mnuItemNázevPísma.Click
If mnuItemNázevPísma.Text = "&Změnit název písma" Then
FontDialog1.ShowColor = True
FontDialog1.ShowEffects = True
FontDialog1.ShowDialog()
lblCislo1.Font = New System.Drawing.Font(FontDialog1.Font.Name, 48!)
lblCislo1.ForeColor = FontDialog1.Color
' Obdobně pro popisky lblCislo2 a lblCislo3
mnuItemNázevPísma.Text = "&Zpět původní písmo"
Else
lblCislo1.Font = New System.Drawing.Font(PůvodníPísmo, 48!)
lblCislo1.ForeColor = PůvodníBarva
' Obdobně pro popisky lblCislo2 a lblCislo3
mnuItemNázevPísma.Text = "&Změnit název písma"
End If
End Sub

Labels:

Thursday, August 16, 2007

Změna názvu písma pro losované číslice

Druhá (a poslední) ukázka společných dialogových oken se týká písma. Když uživatel zvolí z nabídky
Přizpůsobit prvek s textem Název písma, zobrazí se mu společné dialogové okno Písmo, v němž bude moci
změnit název písma a barvu písma (změnu jiných atributů písma mu v této ukázce sice formálně povolíme,
ale v aplikaci ji do povolených změn nezahrneme). Podobně jako v předchozí ukázce bychom mu měli také
poskytnout možnost, aby se mohl vrátit k původnímu písmu.
Pouhá změna názvu písma zavádí do aplikace větší atrakce, než si možná myslíte. Nejde jen o to, budouli
číslice s patkou, bez patky, tučné nebo tenké. Existují totiž také písma, která nemají písmena a číslice, ale
všelijaké obrázkové symboly. Například, zvolí-li uživatel v dialogovém okně Písmo název písma Wingdings,
může po vylosování číslic vypadat trojice popisků takto:
Připomínám, že uživatel právě vyhrál, protože jsou dva symboly stejné. (Pro testování výher tedy vůbec
nepotřebujeme vědět, jaké konkrétní číslice hráč vylosoval.) Řešení úlohy je analogické jako v předchozí
ukázce. Postup:
1. V návrhovém zobrazení hlavního formuláře klepněte v soupravě nástrojů na tlačítko WinForms,
pak na nástroj FontDialog a klepněte na formuláři.
2. Na podnos neviditelných komponent se přidá ikona společného dialogového okna Písmo
s výchozím názvem FontDialog1.
3. Abyste mohli vrátit původní písmo a původní barvu, “zapamatujte si je“. Deklarujte si pomocné
proměnné:
Private PůvodníPísmo As String
Private PůvodníBarva As System.Drawing.Color
4. V konstruktoru třídy formuláře uložte do těchto proměnných původní hodnoty vlastností (název
písma, resp. barva popředí):
PůvodníPísmo = lblCislo1.Font.Name
PůvodníBarva = lblCislo1.ForeColor
Předpokládáme, že všechny tři popisky budou formátované jednotně, takže stačí uložit hodnoty
z jediného (kteréhokoli) popisku.
5. Požadované akce chcete provést tehdy, když uživatel zvolí v nabídce Přizpůsobení příkaz s textem
Změnit název písma.

Labels:

Tuesday, August 14, 2007

Náměty na procvičování

Rozšiřte seznam povolených formátů souborů s obrázky.
Jak jste viděli u textových polí formuláře parametrů, patří mezi nejtěžší úlohy ty, které mají zpracovávat
nějaký vstup od uživatele aplikace. Zdokonalte sejmutí souboru s obrázkem tak, aby pokud možno nemohlo
dojít k chybě a zkuste se vyhnout dialogovém oknu se zprávou zobrazenému výše, které je sice
pohodlné, ale bohužel s anglickým textem, což se mnohým uživatelům vůbec nebude líbit.
Předělejte kód událostní procedury tak, aby nebyl závislý na konkrétních textech prvku nabídky. (aby se
po změnách textů prvků nabídek v návrhovém režimu nemusely předělávat událostní procedury).

Labels:

Sunday, August 12, 2007

Nakonec,

nastavením vlastnosti Title změníme nápis v titulkovém pruhu dialogového okna.
Společná dialogová okna se zobrazí tak, že se zavolá metoda ShowDialog patřičného objektu. Protože
uživatel z nějakého důvodu změnil název původně vybraného souboru na jiný (viz obrázek na předchozí stra
ně), zobrazí se mu po klepnutí na tlačítko OK následující okno se zprávou (vlastnost CheckFileExists je nastavena
na True):
Dopadne-li vše dobře a uživatel zadá platný název souboru, vrátí se spolu s úplnou cestou jako hodnota
vlastnosti FileName dialogového okna Otevřít. Metodou FromFile třídy Image (v brožuře jste se s ní už setkali,
když jste řešili zobrazování různých obrázků pro různé výhry) přiřadíte vybraná obrázek jako hodnotu
vlastnosti BackgroudImage formuláře a změníte text prvku nabídky. Pomocná konstrukce If ještě testuje, zda
není návratová hodnota prázdná, protože by při volání metody FromFile došlo k chybě.

Labels:

' Návrat prázdného pozadí
Me.BackgroundImage = Nothing
mnuItemPozadíFormuláře.Text = "Pozadí &formuláře"
End If
End Sub
Základní konstrukce If procedury je založena na hodnotě vlastnosti Text prvku nabídky. Je-li to původní
text, znamená to, že je pozadí prázdné a uživateli se zobrazí dialogové okno Otevřít. Je-li to jiný text, znamená
to, že na pozadí obrázek už je, takže se zlikviduje přiřazením Nothing a vrátí se původní text nabídky.
Před zobrazením společných dialogových oken máte možnost předem nastavit některé vlastnosti a přizpůsobit
tak vzhled daného společného dialogového okna svým konkrétním potřebám. Některé možnosti ukazuje
předchozí výpis:
Vlastnost InitialDirectory umožňuje nastavit výchozí složku, nejlépe nějakou, kde jsou obrázky.
Zapnutím vlastností CheckFileExists, resp. CheckPathExists se můžete vyhnout testování situací,
že uživatel místo toho, aby soubor pouze vybral, napíše do pole Název souboru nějaký nesmysl.
Viz obrázek dále v textu.
Vlastnost Filter umožňuje omezit obsah seznamu složek a souborů v dialogovém okně Otevřít jen
na ty, které explicitně uvedete. V našem případě jsme zařadili „gify“ a bitové mapy. První část (do
svislice) vždy udává text, který se zobrazí v rozvíracím seznamu Soubory Typu.
Vlastnost FilterIndex umožňuje volit výchozí filtr z těch, které byly zařazeny do vlastnosti Filter.
Výchozí index je 1, v naší ukázce jsme ji ale nastavili na 2, takže se po zobrazení dialogového okna
objeví soubory s příponou .BMP.
Nastavením vlastnosti MultiSelect na False jsme potlačili možnost výběru více souborů současně,
protože to v úloze nepotřebujeme (naopak by to vadilo, protože by to mohlo uživatele zbytečně
rozptylovat).

Labels:

Friday, August 10, 2007

Požadované akce

chcete provést tehdy, když uživatel zvolí v nabídce Přizpůsobení příkaz s textem
Změnit pozadí formuláře. Napište proto událostní proceduru Click tohoto prvku nabídky:
Public Sub mnuItemPozadíFormuláře_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles mnuItemPozadíFormuláře.Click
If mnuItemPozadíFormuláře.Text = "Pozadí &formuláře" Then
' Nastavení charakteristik dialogového okna Otevřít
OpenFileDialog1.InitialDirectory = "C:\Windows"
OpenFileDialog1.CheckFileExists = True
OpenFileDialog1.CheckPathExists = True
OpenFileDialog1.Filter = "Obrázky (*.gif)|*.gif|Bitové mapy (*.Bmp)|*.bmp"
OpenFileDialog1.FilterIndex = 2
OpenFileDialog1.MultiSelect = False
OpenFileDialog1.Title = "Vyberte soubor s obrázkem"
' Zobrazení dialogového okna Otevřít
OpenFileDialog1.ShowDialog()
' Vlastnost FileName dialogového okna Otevřít obsahuje úplnou cestu
' k souboru (včetně názvu souboru), který uživatel vybral
If OpenFileDialog1.FileName = "" Then
MessageBox.Show("Název souboru s obrázkem není v pořádku")
Else
Me.BackgroundImage = Image.FromFile(OpenFileDialog1.FileName)
mnuItemPozadíFormuláře.Text = "Odstranit obrázek na pozadí"
End If
Else

Labels:

Změna pozadí formuláře

První společné dialogové okno využijeme v součinnosti s prvním příkazem prostřední nabídky. Umožníme
uživateli aplikace, aby si mohl místo nudné šedivé plochy formuláře zobrazit nějaký atraktivnější podklad.
Zároveň bychom mu ale měli umožnit, až se při práci s aplikací obrázku nasytí, aby mohl formulář
vrátit do původního stavu.
Obrázek na pozadí formuláře se nastavuje pomocí vlastnosti BackgroundImage formuláře. Aby si uživatel
mohl vybrat obrázek podle svých představ (a podle toho, jaké obrázky má dostupné), zobrazíte mu dialogové
okno Otevřít, uživatel si vyhledá soubor s obrázkem, vy převezmete úplnou cestu k obrázku, kterou vám poskytne
společné dialogové okno Otevřít a přiřadíte obrázek vlastnosti BackgroundImage. Postup následuje:
1. V návrhovém zobrazení hlavního formuláře klepněte v soupravě nástrojů na tlačítko WinForms,
pak na nástroj OpenFileDialog a klepněte na formuláři.
2. Na podnos neviditelných komponent se přidá ikona společného dialogového okna Otevřít
s výchozím názvem OpenDialog1. Protože jich víc potřebovat nebudeme, ponecháme výchozí
název beze změny.

Labels:

Wednesday, August 08, 2007

Využití společných dialogových oken Windows

Tři příkazy, které jsme zařadili do prostřední nabídky, otvírají jednu z dalších oblastí práce s formuláři
Windows, které se trochu dotkneme, protože je to záležitost, jíž se v řadě aplikacích nevyhnete a bylo by dost
pracné a neefektivní, kdybyste se tyto typy úloh pokoušeli řešit sami.
Když uživatel pracuje s nějakou aplikací, není vždy vhodné nebo žádoucí (nebo to ani nejde), aby všechny
akce probíhaly automaticky, bez aktivní účasti uživatele. Často je třeba uživateli umožnit, aby si mohl
v rámci práce s aplikací otevřít nějaký soubor, uložit nějaký soubor, něco přebarvit či upravit atributy písma.
Nebo z aplikace něco tiskne a chcete mu dám možnost, aby si mohl předem nastavit nějaké charakteristiky
týkající se tištěné stránky, tisku samotného nebo tiskárny.
Když pracujete se standardními aplikacemi Windows (například ve Wordu), zobrazují se vám v těchto situacích
tzv. společná dialogová okna Windows (Otevřít, Uložit jako, Barva, Písmo, Tisk apod.), která vypadají
ve všech aplikacích stejně nebo velmi podobně.
Výhody jsou zřejmé. Uživatelé jsou na ně zvyklí a všechny aplikace s v tomto ohledu tváří“ na uživatele
stejně. Proto by bylo dobré, kdyby uživatelé mohli s těmito okny pracovat i ve vašich vlastních aplikacích. Ve
VB.NET to jde zařídit poměrně pohodlně, všechny potřebné nástroje najdete v soupravě nástrojů. Brožuru
ukončíme ukázkou využití tří společných dialogových oken: Otevřít, Písmo a Barva.

Monday, August 06, 2007

Náměty na procvičování

Ve skutečných aplikacích se často používá obecnější model, kdy se uživatel zobrazuje na formuláři několik
variant pruhu nabídek podle aktuální situace (podle stavu, v jakém se aplikace právě nachází). Zkuste
vytvořit různé varianty buď pomocí více objektů MainMenu nebo změnami obsahu systému nabídek při
běhu, abyste mohli varianty dynamicky přepínat.
Jak uvidíte, provádějí se manipulační činnosti s nabídkami docela jednoduše (protože prvky nabídek tvoří
kolekce). Proto můžete nabídky poměrně jednoduše přesouvat či odstraňovat (metodou Remove).
Chcete-li nabídky kopírovat, vyzkoušejte metodu CloneMenu. Metodou MergeMenu můžete ze dvou nabídek
udělat jedinou.
Až budete programovat aplikaci s více dokumentovým rozhraním (MDI), určitě využijete to, že nabídky
podporují také vytvoření seznamu dceřiných oken pro formulář MDI. (Vlastnost IsMDIContainer mateřského
formuláře se nastaví na True, objekt hlavní nabídky se připojí k mateřskému formuláři a vlastnost
MDIList jednoho prvku pruhu nabídky (její text by mohl být například &Okno) se nastaví na True).

Labels:

Saturday, August 04, 2007

Metodou Add přidejte prvky první rozvírací nabídky do kolekce MenuItems objektu menu2Akce:
mnu2Akce.MenuItems.Add(mnu2ItemRoztočit)
mnu2Akce.MenuItems.Add(mnu2ItemVypsatStav)
mnu2Akce.MenuItems.Add(mnu2ItemDodatPrachy)
mnu2Akce.MenuItems.Add(mnu2ItemOddělovač1)
mnu2Akce.MenuItems.Add(mnu2ItemKonec)
9. Obdobně zpracujte druhou a třetí nabídku v pruhu nabídek:
' Nabídka Přizpůsobit:
Dim mnu2ItemPozadíFormuláře As New MenuItem()
Dim mnu2ItemVelikostPísma As New MenuItem()
mnu2ItemPozadíFormuláře.Text = "Pozadí &formuláře"
mnu2ItemVelikostPísma.Text = "V&elikost písma"
mnu2Přizpůsobit.MenuItems.Add(mnu2ItemPozadíFormuláře)
mnu2Přizpůsobit.MenuItems.Add(mnu2ItemVelikostPísma)
' Nabídka Nápověda:
Dim mnu2ItemObsah As New MenuItem()
Dim mnu2ItemOAplikaci As New MenuItem()
mnu2ItemObsah.Text = "&Obsah"
mnu2ItemOAplikaci.Text = "&Informace o aplikaci"
mnu2Nápověda.MenuItems.Add(mnu2ItemObsah)
mnu2Nápověda.MenuItems.Add(mnu2ItemOAplikaci)

Labels:

Thursday, August 02, 2007

Přiřaďte zobrazované texty

prvkům v pruhu nabídek včetně případných přístupových kláves:
mnu2Akce.Text = "&Akce"
mnu2Přizpůsobit.Text = "&Přizpůsobit"
mnu2Nápověda.Text = "&Nápověda"
5. Metodou Add přidejte tyto prvky pruhu nabídek do kolekce MenuItems objektu MainMenu2:
MainMenu2.MenuItems.Add(mnu2Akce)
MainMenu2.MenuItems.Add(mnu2Přizpůsobit)
MainMenu2.MenuItems.Add(mnu2Nápověda)
6. Definujte prvky nabídky pro první rozvírací nabídku, včetně oddělovače, jímž chcete od ostatních
prvků izolovat příkaz pro ukončení aplikace:
Dim mnu2ItemRoztočit As New MenuItem()
Dim mnu2ItemVypsatStav As New MenuItem()
Dim mnu2ItemDodatPrachy As New MenuItem()
Dim mnu2ItemOddělovač1 As New MenuItem()
Dim mnu2ItemKonec As New MenuItem()
7. Přiřaďte zobrazované texty včetně přístupových kláves, klávesových zkratek, případně nastavte
další potřebné vlastnosti prvků nabídky:
mnu2ItemRoztočit.Text = "&Roztočit"
mnu2ItemVypsatStav.Text = "Vyp&sat stav"
mnu2ItemDodatPrachy.Text = "&Dodat další prachy"
mnu2ItemOddělovač1.Text = "-"
mnu2ItemKonec.Text = "&Konec"
mnu2ItemKonec.Shortcut = System.WinForms.Shortcut.AltF4

Labels:

Wednesday, August 01, 2007

Nabídky sestrojené v kódu
V předchozím oddílu jste viděli dvě varianty řešení místní nabídky: vizuálně a její přímý zápis v kódu.
Podobně můžete volit vizuální nebo programové řešení i pro pruh běžných nabídek s podřízenými a kaskádovými
nabídkami.
1. Na začátek třídy formuláře přidejte příkaz:
Private MainMenu2 As MainMenu
2. Pak definujte novou instanci objektu hlavní nabídky a přiřaďte objekt nabídky formuláři:
MainMenu2 = New MainMenu()
Me.Menu = MainMenu2
3. Definujte prvky nabídky v pruhu nabídek:
Dim mnu2Akce As New MenuItem()
Dim mnu2Přizpůsobit As New MenuItem()
Dim mnu2Nápověda As New MenuItem()

Labels: