IRAE 07/08 Přednáška č. 10

Podobné dokumenty
ZŠ ÚnO, Bratří Čapků 1332

Plánování směn verze 2.1, revize 03

Synchronizace kontaktů z ESO9 do MS Outlook

ZŠ ÚnO, Bratří Čapků 1332

Tile systém v Marushka Designu

PEXESO UŽIVATELSKÝ MANUÁL

Podklady k práci s Intranetem - administrátor

Informační ikony v MarushkaDesignu

Specifikace pro SW aplikaci Start-up business.

DTM (Digitální technická mapa) v Marushka Designu

Instalace a technické informace

Operační systém Windows 8.1

VIS ČAK - Uživatelský manuál - OnLine semináře

Portál veřejné správy

MS Word pro administrátory projektů Základy

Obsah cvic ení procvic ovane dovednosti

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Portál veřejné správy

Programování v jazyku C# II. 4.kapitola

Témata v MarushkaDesignu

SMART Notebook Math Tools 11

Objekty jako zapozdření dat. začneme vytvářet vlastní objekty a třídy

Eda. Evidence obchodních aktivit. Proces nákupu

Bezpečnostní IP kamera

ZŠ ÚnO, Bratří Čapků 1332

Sledování provedených změn v programu SAS

Nejzajímavější jsou události MouseDown a KeyDown.

Vykreslení obrázku z databázového sloupce na referenční bod geometrie

Klíčové pojmy: Události, handlery, třída Graphics, pera, stětce, kreslení vyplněných a nevyplněných objektů.

Multimédia a interaktivní PDF

GeoDTM. Uživatelská příručka. Výstup byl vytvořen s finanční podporou TA ČR v rámci projektu TA Verze 1.0

Možnosti připojení WMS služby do Klienta v Marushka Designu

Selenium, Emma, Checkstyle. Jiří Mach

Indexové seznamy. známe už pole, kde ale musí být předem známa velikost indexové seznamy umí růst dynamicky

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Helios Orange Plugin Zadávání vlastností

DeepBurner Free 1.9. Testování uživatelského rozhraní s uživateli Deliverable B1 TUR Testování uživatelských rozhraní 2011 ČVUT FEL

SMART Document Camera Model SDC-450

1. Předmět díla a technické požadavky

SOŠS a SOU Kadaň Školení SIPVZ OS Windows XP OS WINDOWS ZÁKLADNÍ POJMY, UŽIVATELSKÉ PŘÍKAZY

TESTY - elektronické testování. studentu UPa. O destruktory mohou být statické. Návrat na portál Studenti Testy

ReDat experience v Release notes

Upomínky a kontroly E S O 9 i n t e r n a t i o n a l a. s.

Nastavení firewallu pro AVG 7.5

Proudový zdroj. Opravy a nové funkce. Firmware Device Configurator LabVIEW driver 1.1.0

Zásady kreslení Kreslení na obrazovku 139

Odpisy a opravné položky pohledávek

Obsah cvic ení procvic ovane dovednosti

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Podmíněné vykonávání

4 Datový typ, proměnné, literály, konstanty, výrazy, operátory, příkazy

2.1. Operační systém První kroky Zapnutí počítače a přihlášení do systému Restartování počítače

UT2004 UTV {CZ}KillerB

ONLINESKLAD.CZ. Vysvětlení pojmů: V tomto manuálu i v celém systému figurují 3 základní osoby: Popis administračního rozhraní

Takto chápanému druhu objektů se říká TŘÍDA.

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací

Generování Homepage ze serveru AReality.sk

Eda. Evidence obchodních aktivit. Proces prodejních kontraktů

Konsolidovaný nástroj získatele Vytvoření dodatku ke smlouvě NAMÍRU Návod k obsluze

Portál veřejné správy

Manuál k vyplnění Monitorovacích listů za rok 2018 (datum podání do )

Metodický návod na pořádání soutěží OBEDIENCE CZ.

Případy užití RSSystems

pro správu uživatelských přístupů do registru řidičů pro obecní úřady obcí s rozšířenou působností

Obsah cvičení procvičované dovednosti

Spisová služba/elisa - Dodatek k manuálu - subverze 1.28

GLOBÁLNÍ ARCHITEKTURA ROB

Manuál k vyplnění Monitorovacích listů

Manuál Jednoduché účetnictví neziskových organizací V26. Manuál nástroje. K verzi nástroje JUNO_V26.xls

Pokročilá práce s proměnnými

01. HODINA. 1.1 Spuštění programu VB Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start.

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

KOLONOVÝ TERMOSTAT SICO-300

Práce s WKT řetězci v MarushkaDesignu

SPARTAN DAIRY 3.0. Uživatelský manuál. Vytvořeno s podporou Interní vzdělávací agentury projekt č. 2017FVHE/2220/47 VFU BRNO

Novinky Autodesk Navisworks 2012 (Manage, Simulate, Freedom)

Rádiová odečtová jednotka RFU 40. a odečtová aplikace RADIO READER

Obsah přednášky. GDI+ Tvorba vlastních komponent Vlastní kreslení 1/36

Programová příručka. GoPal Navigator verze 5.5

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Uživatelská příručka aplikace Partner24 modul Zaměstnavatelský portál Česká spořitelna penzijní společnost, a.s.

Komponenty v.net. Obsah přednášky

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 19.2.

Popis rozšířujících funkcí JScriptu

Manuál k vyplnění Monitorovacích listů za rok 2017 (datum podání do )

5. Zobrazení stručné informace o právě běžícím programu. 6. Zobrazení podrobné informace o právě běžícím programu

Legenda v MarushkaDesignu

SMĚRNICE č. 5 ŠKOLENÍ ZAMĚSTNANCŮ, ŽÁKŮ A DALŠÍCH OSOB O BEZPEČNOSTI A OCHRANĚ ZDRAVÍ PŘI PRÁCI (BOZP)

Druhy souborů. textové. binární. nestrukturované txt strukturované - ini, xml, csv. veřejné bmp, jpg, wav proprietární docx, cdr, psd

Informační a komunikační technologie základní terminologie

Vkládání dat do databázové aplikace

Návod k vyplňování formulářů - vyúčtování

Integrace Google map v MarushkaDesignu

Jazyk C# a platforma.net

Školení obsluhy PC stručný manuál obsluhy pro používání PC. MS Power Point

SMART Notebook Mac OS X software pro operační systémy. Uživatelská příručka

Transkript:

Dialgy pr kmunikaci s uživatelem nastavení většíh mnžství hdnt najednu hstí vládací prvky speciální případ kna (z phledu OS Windws) v.net shdné s běžným frmulářem základní vlastnsti: zpravidla neměnná velikst implicitní reakce na klávesy (ENTER, ESC) mdální x nemdální dialg chvání vůči vlastníkvi: aplikačně mdální zákaz vlastníka (většina dialgů) systémvě mdální vždy na vrchu úklvě mdální (task mdal) zákaz všech tp-level ken danéh vlákna Vlastní dialgy Vytvření v.net shdné s běžným frmulářem mžnsti prgramvě Frm dialg = new Frm(); vzhled nepůjde vytvřit v návrháři přes návrhář VS2005 menu Prject Add new Item Vzhled kna bvykle neměnná velikst, nezbrazuje se v liště úlh dialg.frmbrderstyle = FrmBrderStyle.FixedDialg; dialg.maximizebx = false; dialg.minimizebx = false; dialg.shwintaskbar = false; spuštění (zbrazení): mdální: dialg.shw() nemdální: dialg.shwmdal() 1

Přidání vládacích prvků jasné, viz cvičení Kntrla zadaných hdnt je ta hdnta > 0?, je t telefnní čísl? ruční při zavření dialgu něc špatně = strnvání zavření dialgu (událst Frm.Clsing) viz min. přednáška autmatická událst Validating zděděna z Cntrl vyvlá se při puštění prvku (ztrátě fkusu) pdrbněji viz cvičení Vstup a výstup dat viz cvičení Uknčení dialgu Obvyklé mžnsti: Stiskem OK uživatel chce nastavené hdnty pužít (prvést akci) Stiskem Strn nechce Něc jinéh (velmi nebvyklé) Nutn přidat tlačítka OK a Strn Rzeznání způsbu uknčení metda ShwMdal() vrací DialgResult enum DialgResult // Tlačítka: Abrt, // Zrušit Cancel, // Strn Ignre, // Ignrvat N, // Ne u MessageBx Nne, OK, // OK Retry, // Znvu Yes // An u MessageBx Třída Frm Vlastnst DialgResult DialgResult před uknčením naplnit pdle tlačítka (OK/Strn) Defaultní hdnta Nne private vid buttnok_click(bject sender, EventArgs e) this.dialgresult = DialgResult.OK; this.clse(); // implicitne nastavi DialgResult na DialgResult.Cancel private vid buttnstrn_click(bject sender, EventArgs e) this.clse(); 2

V nadřazeném frmuláři kntrla typu uknčení a akce: private vid buttnnastavdata_click(bject sender, EventArgs e) NastavDataDialg dialg = new NastavDataDialg(); DialgResult dr = dialg.shwdialg(); if (dr == DialgResult.OK) // Akce, vyzvednutí dat label1.text = "OK"; else // bvykle nic neděláme label1.text = "Strn"; Nedstatky ručníh nastavení DialgResult v dialgu dle tlačítka nefunguje výchzí chvání při stisku kláves ENTER (= tlačítk OK) a ESC (= tlačítk Cancel) Řešení Frm Vlastnsti: AcceptButtn přiřadit referenci na tlačítk OK CancelButtn na Cancel public NastavDataDialg() InitializeCmpnent(); this.acceptbuttn = this.buttnok; this.cancelbuttn = this.buttnstrn; Běžné dialgy lze udělat phdlně i v návrháři v tmt případě událsti tlačítek není nutné vůbec bsluhvat tlačítka získají autmaticky pžadvanu funkčnst uživatel je zná a čekává v.net předpřipraveny jak třídy princip práce stejný jak u nrmálníh dialgu: puze není nutn vytvářet Dialgy: ClrDialg OpenFileDialg SaveFileDialg FlderBrwserDialg FntDialg PageSetupDialg PrintDialg PrintPreviewDialg 3

Příklad OpenFileDialg Metdy DialgResult ShwDialg() zbrazí dialg Vlastnsti: string FileName (Get, Set) cesta + jmén subru ( Název subru: ) string Filter (Get, Set) filtr pr výběr subrů ( Subry typu: ) Příklad: "Text files (*.txt) *.txt All files (*.*) *.*" string Title (Get, Set) titulek dialgu (Otevřít) string InitialDirectry (Get, Set) Adresář p zbrazení dialgu Lze vybrat více subrů najednu Vlastnsti: bl Multiselect (Get, Set) pvlení výběru více subrů string[] FileNames (Get, Set) cesty + jména subrů, Length = pčet vybraných subrů Reakce na výběr neexistujícíh subru (uživatel zadá jmén ručně), kntrla: ručně přes System.IO.File.Exists() autmaticky (zbrazí varvání) bl CheckFileExists (defaultně true) Příklad: OpenFileDialg pf = new OpenFileDialg(); pf.filter = "Textvé subry (*.txt) *.txt Všechny subry (*.*) *.*"; pf.initialdirectry = Envirnment.GetFlderPath(Envirnment.SpecialFlder.MyDcuments); // cesta k adresari "Dkumenty" DialgResult dr = pf.shwdialg(); if (dr == DialgResult.OK) 4

// uzivatel stiskl OK, neb Enter // vyzvedneme si jmen + cestu k subru string subr = pf.filename; Grafika v.net = vytváření grafických brazců na frmulářích Filsfie kreslení ve Windws GDI Aplikace Device Cntext Device Driver GDI = Graphics Driver Interface = API pr kreslení Kreslení je nezávislé na výstupním zařízení: Obrazvka Paměť Tiskárna GDI+ = vylepšené GDI pr Windws XP a nvější Přístupné v.net přes třídy ve jmenných prstrech: System.Drawing System.Drawing.Drawing2D System.Drawing.Imaging System.Drawing.Text System.Drawing.Printing Chci kreslit = nutn pžádat Windws Device Cntext (DC, kntext zařízení) Windws vytvří dle mžnstí zařízení (rzměry, rzlišení, barevná hlubka, mžnsti vladače ) DC v.net reprezentván bjektem třídy System.Drawing.Graphics = virtuální plátn Objekt třídy Graphics nelze libvlně vytvřit nutn jej získat, mžnsti: Vláním Cntrl.CreateGraphics() přímé kreslení Obsluhu událsti Cntrl.Paint Princip 2D kreslení v.net: Grafická primitiva: Clr, Pen (štětec), Brush (výplň), Clr (barvy), Rectangle (bdélník pzice a tvar), Nástrje pr kreslení: DrawLine(), DrawRectangle(), DrawString(), FillRectangle() Pužívají grafická primitiva 5

Přímé kreslení Pstup: Získání DC Kreslení Navrácení zpět DC Windws (nutné!!!) Příklad: private vid buttnkresli_click(bject sender, EventArgs e) Graphics g = this.creategraphics(); // 1) Graphics získán d Frm - this try finally Brush b = new SlidBrush(Clr.Red); g.fillrectangle(b, 0, 0, 50, 50); g.dispse(); // 2) puziti Lepší: private vid buttnkresli_click(bject sender, EventArgs e) using (Graphics g = this.creategraphics()) Brush b = new SlidBrush(Clr.Red); g.fillrectangle(b, 0, 0, 50, 50); Dispse() zajistí příkazu using Výsledek: // 3) vraceni, nutne Ale pzr: 6

Činnst Windws při kresleni Skrytí (časti) kna nutn jej pět bnvit: Ovládací prvky, Titulkvý pruh, bnví Windws Grafické bjekty z Graphics musí bnvit prgramátr Událst Paint zapuzdřuje zprávu WM_PAINT zaslána aplikaci při pžadavku Windws na bnvu vzhledu aplikace Kreslení v událsti Paint Graphics je již vytvřen private vid Frm1_Paint(bject sender, PaintEventArgs e) Graphics g = e.graphics; Brush b = new SlidBrush(Clr.Red); g.fillrectangle(b, 0, 0, 50, 50); Žádné Dispse() Graphics nebyl vytvřen námi!!! Prblém vykreslen ihned p startu, nikli na stisk tlačítka. Řešení: public partial class Frm1 : Frm public Frm1() InitializeCmpnent(); bl vykreslit = false; private vid buttnkresli_click(bject sender, EventArgs e) vykreslit = true; this.invalidate(true); // reakce Win zaslu WM_Paint // true budu překresleny i pdřízené prvky private vid Frm1_Paint(bject sender, PaintEventArgs e) if (vykreslit) Graphics g = e.graphics; Brush b = new SlidBrush(Clr.Red); g.fillrectangle(b, 0, 0, 50, 50); Obsluhujeme Paint vždy th prvku, na který chceme kreslit!!! Kreslení na tlačítk = Paint tlačítka, nikli Frm1 Cíle kreslení Objekt Graphics dvlí kreslit jen na Client Area prvku, d kteréh byl získán 7

Kreslit lze na ckli Graphics pchází z Cntrl (= křen hierarchie prvků GUI) private vid buttnkresli_paint(bject sender, PaintEventArgs e) Graphics g = e.graphics; // g patří buttnkresli!!! Pen p = new Pen(Clr.Blue, 3); g.drawellipse(p, 0, 0, 70, 40); Činnst Windws při kresleni II Prblém při změně veliksti kna Windws překreslí jen t, c musí Řešení: public Frm1() InitializeCmpnent(); this.setstyle(cntrlstyles.resizeredraw, true); // Windws překreslí při změně veliksti vše Prblém blikání brazu: Velký pčet bjektů k vykreslvání braz bliká Řešení = tzv. Duble bufferring Vykreslení brazu nejprve d paměti Celý braz najednu na brazvku public Frm1() InitializeCmpnent(); // duble buffering this.dublebuffered = true; this.setstyle(cntrlstyles.allpaintinginwmpaint, true); 8

this.setstyle(cntrlstyles.optimizeddublebuffer, true); this.setstyle(cntrlstyles.userpaint, true); 9