25
22-06-17 1 Třída MessageBox (1) • Definována ve jmenném prostoru: System.Windows.Forms • Zobrazuje okno, které může obsahovat: – text – tlačítka – symboly (ikony) • Pro zobrazení MessageBoxu se používá me-toda Show, která: – je definovaná 21 různými způsoby (overloading) – vrací hodnotu typu DialogResult vyjadřující, kterým tlačítkem byl MessageBox ukončen

Události (1)

  • Upload
    zanna

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

Události (1). Členy třídy umožňující objektu nebo třídě reagovat na zprávy (události) Program může definovat metody, které mají za úkol zpracovat příchozí zprávy, např.: stisknutí klávesy stisknutí tlačítka myši pohyb myši apod. - PowerPoint PPT Presentation

Citation preview

Page 1: Události (1)

23-04-21 1

Třída MessageBox (1) • Definována ve jmenném prostoru:System.Windows.Forms

• Zobrazuje okno, které může obsahovat:– text– tlačítka– symboly (ikony)

• Pro zobrazení MessageBoxu se používá me-toda Show, která: – je definovaná 21 různými způsoby (overloading)– vrací hodnotu typu DialogResult vyjadřující,

kterým tlačítkem byl MessageBox ukončen

Page 2: Události (1)

23-04-21 2

Třída MessageBox (2)

• Tlačítka jsou typu MessageBoxButtons, který definuje konstanty vyjadřující jaká tlačítka budou zobrazena (OK, OKCancel, AbortRetryIgnore, YesNoCancel, YesNo, RetryCancel)

• Ikony jsou typu MessageBoxIcon, který definuje následující konstanty: None, Hand, Question, Exclamation, Asterisk, Stop, Error, Warning, Information

Page 3: Události (1)

23-04-21 3

Třída Button • Definována ve jmenném prostoru:System.Windows.Forms

• Reprezentuje tlačítko• Vlastnosti:

– DialogResult:• určuje, zda (a jak) tlačítko uzavírá svůj modální rodi-

čovský formulář • hodnota DialogResult je vrácena metodou ShowDialog

• Metody:– PerformClick:

• simuluje uživatelský stisk tlačítka

Page 4: Události (1)

23-04-21 4

Třída Label • Definována ve jmenném prostoru:System.Windows.Forms

• Ovládací prvek dovolující zobrazit textovou informaci

• Vlastnosti:– Text:

• specifikuje zobrazený text

• Poznámka:– je-li zapotřebí zobrazit číselný údaj, pak je nez-

bytné jej nejprve převést na řetězec (pomocí metody ToString nebo třídy Convert)

Page 5: Události (1)

23-04-21 5

Třída TextBox (1)• Definována ve jmenném prostoru:System.Windows.Forms

• Ovládací prvek dovolující zobrazit a zadat textovou informaci

• Vlastnosti:– CharCase:

• specifikuje, zda-li zadaná informace bude automatic-ky konvertována na velká (malá) písmena nebo nikoliv

– Lines:• udává řádky textu v TextBoxu• používané zejména u víceřádkových TextBoxů

Page 6: Události (1)

23-04-21 6

Třída TextBox (2)– MaxLength:

• maximální počet znaků, které lze zadat (0 značí bez omezení)

– Multiline:• určuje, zda-li do TextBoxu může být zadáno více

řádků– PasswordChar:

• maskovací znak, který se bude zobrazovat místo za-dávaných znaků

– ReadOnly: • značí TextBox určený pouze ke čtení

– SelectionLength:• počet znaků v zaznačeném textu

Page 7: Události (1)

23-04-21 7

Třída TextBox (3)– SelectionStart:

• počáteční pozice aktuálně zaznačeného textu– SelectedText:

• specifikuje aktuálně zaznačený text– Text:

• udává zadaný (zobrazovaný) text • číselné informace je nutné převádět na (z) řetězce(ů)

– TextAlign:• specifikuje zarovnání zadávaného (zobrazeného)

textu– TextLength:

• délka celého textu

Page 8: Události (1)

23-04-21 8

Třída TextBox (4)• Metody:

– Clear: • smaže zobrazený (zadaný) text

– Copy: • zkopíruje zaznačený text do schránky (Clipboardu)

– Cut: • zkopíruje zaznačený text do schránky (Clipboardu)

a následně jej v TextBoxu smaže– Paste:

• vloží text z Clipboardu do prvku TextBox (náhra-dou za zaznačenou část)

– Undo:• vrátí nazpět poslední provedenou operaci

Page 9: Události (1)

23-04-21 9

Práce s grafikou (1)• Windows Forms při práci s grafikou využí-

vají GDI+ (Graphics Device Interface+)

• GDI+ je následník rozhraní GDI, které je zod-povědné za reprezentaci grafických objektů a jejich zasílání na výstupní zařízení (monitor, tiskárna apod.)

• GDI realizuje operace jako jsou např.:– kreslení úseček a přímek– zobrazování fontů– správa palet barev

Page 10: Události (1)

23-04-21 10

Práce s grafikou (2)

• GDI+ se poprvé objevuje u MS Windows XP a umožňuje navíc např.:– zobrazování 2D grafiky s využitím antialiasingu– používání souřadnic v plovoucí desetinné čárce– gradientní přechody různých odstínů barev– používání moderních grafických formátů

(*.jpg, *.png)– skládání afinních transformací– práci s barvami v modelu ARGB

Page 11: Události (1)

23-04-21 11

Třída Graphics (1)• Definována ve jmenném prostoru:System.Drawing

• Poskytuje abstraktní povrch, na kterém je možné vykreslovat grafické informace

• Poznámka: – třída Graphics je definována s modifikátorem sealed není možné definovat její potomky

• Pro zpřístupnění vlastností a metod třídy Graphics je zapotřebí získat její objekt

• Konstruktor třídy Graphics není veřejný a tudíž jej nelze pro vytvoření objektu využít

Page 12: Události (1)

23-04-21 12

Třída Graphics (2)• Objekt třídy Graphics lze získat např.:

– prostřednictvím parametru, který je předáván ob-služné metodě události Paint (parametr je typu PaintEventArgs)

– pomocí volání metody CreateGraphics ovlá-dacího prvku (např. formuláře), v němž bude vy-kreslování realizováno:

• objekt třídy Graphics by měl být využíván pouze v metodě, která jej (pomocí CreateGraphics) získala

• třída Graphics implementuje rozhraní IDisposab-le a po ukončení kreslení by program měl volat metodu Dispose a tím objekt třídy Graphics uvolnit

Page 13: Události (1)

23-04-21 13

Třída Graphics (3)• program by měl zaručit, že k uvolnění objektu třídy Graphics dojde i v případě vzniku výjimky příka-zy využívající tento objekt by měly být v chráněnném bloku (try) a ve sdruženém bloku finally by mělo být provedeno volání metody Dispose

• příklad: Graphics g = HlOkno.CreateGraphics(); try { }

finally { g.Dispose(); }

Kreslení pomocí g

Page 14: Události (1)

23-04-21 14

Třída Graphics (4)• korektní vyvolání metody Dispose lze u tříd imple-

mentujících rozhraní IDisposable zabezpečit i po-mocí klíčového slova using, za nímž se zapíše defi-nice proměnné společně s vytvořením instance dané třídy

• příklad: using (Graphics g =

HlOkno.CreateGraphics()) { }

Kreslení pomocí g

Page 15: Události (1)

23-04-21 15

Třída Graphics (5)• Metody:

– Clear:• provede vymazání vykreslovacího povrchu specifiko-

vanou barvou– Dispose:

• uvolní zdroje používané objektem třídy Graphics– DrawArc:

• vykreslí eliptický (kruhový) oblouk– DrawBezier:

• vykreslí Bézierovu křivku– DrawEllipse, FillEllipse:

• vykreslí elipsu (kružnici) nebo vyplněnou elipsu (kruž-nici)

Page 16: Události (1)

23-04-21 16

Třída Graphics (6)– DrawImage:

• vykreslí obrázek (např. ve formátu *.jpg)– DrawLine:

• vykreslí úsečku spojující dva body– DrawLines:

• vykreslí sérii na sebe navazujících úseček– DrawPolygon, FillPolygon:

• vykreslí mnohoúhelník nebo vyplněný mnohoúhelník– DrawRectangle, FillRectangle:

• vykreslí obdélník (čtverec) nebo vyplněný obdélník (čtverec)

– DrawString:• zobrazí text specifikovaný řetězcem

Page 17: Události (1)

23-04-21 17

Třída Graphics (7)– RotateTransform:

• aplikuje transformaci pro otočení– ScaleTransform:

• aplikuje transformaci pro změnu měřítka– TranslateTransform:

• aplikuje transformaci pro posun počátku souřadnic

• Při vykreslování jsou využívány instance:– třídy Pen – kreslící pero– potomků třídy Brush – štětec – třídy Font – písmo

• Poznámka:– nově vytvořené instance tříd Pen, Brush a Font

by měly být uvolňovány pomocí metody Dispose

Page 18: Události (1)

23-04-21 18

Třída Pen• Definována ve jmenném prostoru:System.Drawing

• Definuje objekt, který slouží pro vykreslování úseček, křivek a obvodů útvarů (definována s modifikátorem sealed)

• Vlastnosti:– Color:

• specifikuje barvu kreslícího pera– DashStyle:

• udává styl kreslícího pera (např. plná čára, přerušovaná čára, tečkovaná čára apod.)

– Width:• specifikuje šířku (tloušťku) kreslícího pera

Page 19: Události (1)

23-04-21 19

Třída Brush (1)• Definována ve jmenném prostoru:System.Drawing

• Abstraktní třída (nelze vytvořit její instanci), která slouží jako společný předek pro další třídy definující různé druhy štětců

• Štětce jsou používány pro vyplňování uzavře-ných útvarů (např. obdélník, elipsa apod.)

• Mezi potomky třídy Brush patří např.:– SolidBrush:

• definuje jednobarevný štětec (pomocí vlastnosti Color)

Page 20: Události (1)

23-04-21 20

Třída Brush (2)– TextureBrush:

• definuje štětec, který pro vyplňování uzavřených útva-rů používá obrázek (texturu) specifikovaný v době vo-lání konstruktoru

– HatchBrush:• definuje šrafovaný štětec

• barva popředí, pozadí a styl šrafování jsou specifiko-vány v době volání konstruktoru

– LinearGradientBrush:• definuje štětec používající lineární gradient (plynulý

přechod jedné barvy do barvy druhé)

Page 21: Události (1)

23-04-21 21

Třída Brush (3)

• Poznámky:– třídy HatchBrush a LinearGradient-Brush jsou definovány ve jmenném prostoru System.Drawing.Drawing2D

– vytvořené štětce se rovněž používají při zobrazo-vání textů pomocí metody DrawString, kde udávají barvu (výplň) jednotlivých znaků

– všichni potomci třídy Brush jsou definování s modifikátorem sealed

Page 22: Události (1)

23-04-21 22

Třída Font• Definována ve jmenném prostoru:System.Drawing

• Třída Font určuje písmo, které bude použité při zobrazování textu pomocí metody DrawString

• Parametry písma (font, velikost, styl apod.) jsou specifikovány v době volání konstruk-toru

• Poznámka:– definována s modifikátorem sealed

Page 23: Události (1)

23-04-21 23

Objektově orientovaná knihovna pro práci s grafickými objekty (1)

• Implementované grafické objekty (útvary):– Kružnice (Circle)– Elipsa (Ellipse)– Obdélník (Rectangle)– Oblouk (Arc)– možnost rozšíření o další objekty

• Požadované funkce:– Zobrazení objektu– Skrytí objektu– Přesunutí objektu

Page 24: Události (1)

23-04-21 24

Objektově orientovaná knihovna pro práci s grafickými objekty (2)

• Společné vlastnosti objektů:– Vlastnosti:

•int X, int Y– souřadnice referenčního bodu objektu

•bool Visible– informace o viditelnosti objektu

•Form Window– okno, ve kterém se objekt bude vykreslovat

– Metody:• konstruktor: (Form initWindow,

int initX, int initY)– vytvoření objektu s počátečními souřadnicemi referenčního

bodu danými parametry initX, initY, který se bude vy-kreslovat v okně initWindow

Page 25: Události (1)

23-04-21 25

Objektově orientovaná knihovna pro práci s grafickými objekty (3)

•void Draw(Graphics graph, Pen pen) – vykreslení objektu (útvaru) prostřednictvím objektu graph

s perem pen

•void Show()– zobrazení objektu

•void Hide() – skrytí objektu

•void MoveTo(int newX, int newY)– přesunutí objektu na souřadnice dané parametry newX, newY