cool web a perfektni rs- Doporucuji

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: