Dialogy a základy GUI pro.net KIV / WIN



Podobné dokumenty
02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

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

ČÁST 1. Základy 32bitového programování ve Windows

TÉMATICKÝ OKRUH Softwarové inženýrství

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

Projekt. Sestavení projektu

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Dotyková obrázovká v prográmu TRIFID

GUI ve Win32API a MFC I KIV / WIN

Stručný průvodce programem Clocan-záruky

Úvod do filtrace, Quick filtr

APS 400 ipanel. Online informační a ovládací panel pro systém APS 400. Uživatelská příručka

Výkresy. Projekt SIPVZ D Modelování v SolidWorks. Autor: ing. Laďka Krejčí

Použití filtrů v Museionu

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

50 Zápisník skupiny. Popis modulu

Uživatelské příkazy: false - dialog ukončen IDCANCEL. Vytvoří nové okno. title - titulek okna

Dotykova obrazovka v programu TRIFID

PŘETĚŽOVÁNÍ OPERÁTORŮ

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Příručka uživatele systému Museion. Quick filtr

Uživatelský manuál aplikace. Dental MAXweb

SKLAD ODPADŮ modul EKO-KOM

Možnosti tisku v MarushkaDesignu

Připojení přístroje A4101 k aplikaci DDS2000

AutoCAD výstup výkresu

Projektová dokumentace GED 2006

Tento dokument je určen oprávněným uživatelům programového vybavení Avensio Software za těchto podmínek:

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

EvMO postup při instalaci a nastavení programu

Formuláře. Takto se zobrazí modálně: void button1_click(object sender, System.EventArgs e) { JinyFormular formular = new JinyFormular()

BALISTICKÝ MĚŘICÍ SYSTÉM

Studijní skupiny. 1. Spuštění modulu Studijní skupiny

Delphi popis prostředí

WORD. (zobecněno pro verzi 2007)

Dělení a vlastnosti komponent

Frilo Control Center správa projektů

OmniTouch 8400 Instant Communications Suite. Aplikace My Instant Communicator Desktop. Aplikace My Instant Communicator pro počítač.

TÉMATICKÝ OKRUH Softwarové inženýrství

Microsoft Office. Word vzhled dokumentu

PB161 Programování v jazyce C++ Přednáška 9

umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora

APS Control Panel. Ovládací panel systému APS mini Plus pro SW balík APS Administrator. Uživatelská příručka

Helios RED a Internetový obchod

PROGRAMOVÁNÍ PRO MS WINDOWS 1

Reliance 3 design OBSAH

Služby a nastavení Reset přístroje do továrního nastavení Seznam pevné volby Identifikace volajícího (CLIP/CLIR) Pevná volba Aplikace Vyhledání a

Asistivní technologie a dohledové systémy Dyslexie čtení pomocí okénka

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Kontakty 08/ Obsah

Kresba pomocí nadstavby

Vývoj multiplatformní aplikace v Qt

Příloha 6. Palety nástrojů

Přepínání zobrazení Použijte zobrazení kalendáře, které nejlépe vyhovuje vašemu pracovnímu postupu. Přepínejte tak často, jak chcete.

verze Grafický editor PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ 1 Obsah

Dotyková obrázovká v prográmu TRIFID

43 HTML šablony. Záložka Šablony v systému

Tvorba informačních systémů

MIDAS GTS. gram_txt=gts

Naším cílem je Vaše spokojenost...

První kroky s METEL IEC IDE

Uživatelská příručka

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Rizikové procesy. 1. Spuštění modulu Rizikové procesy. 2. Popis prostředí a ovládacích prvků modulu Rizikové procesy

Portál Značení tabáku Uživatelská příručka pro registrované uživatele

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Fingerprint Verification Control

Více než 60 novinek, změn a vylepšení

Tabletová aplikace. Uživatelský manuál

EvMO postup při instalaci

Masarykova ZŠ Klenčí pod Čerchovem OPERAČNÍ SYSTÉM

ESPI9 - export zařízení do MA ISOH

Maximální rozměr fotografie 305x305 mm (větší foto může být použito v případě výkonnějšího počítače).

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Výstupní kontrola 07.1/ Obsah

Manuál pro mobilní aplikaci. Patron-Pro

Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA

Stručný postup k použití programu PL7 Junior (programování TSX Micro)

ISC-TRIOSEA Informační systém

Vazba ESO9 na MS Outlook a MS Exchange

Envis LIMS Klient distribučního portálu

OPERAČNÍ SYSTÉM. základní ovládání. Mgr. Jan Veverka Střední odborná škola sociální obor ošetřovatel

Konvertor diakritiky 3. Instalace

Ovládání mapového prohlížeče a aplikace. Šumperk : Mapa města

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Podpora skriptování v Audacity

HELIOS - Zálohování BüroKomplet, s.r.o.

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Rámcový manuál pro práci s programem TopoL pro Windows

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

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Konstruktory a destruktory

Zpravodaj. Uživatelská příručka. Verze

ERP informační systém

GIS Geografické informační systémy

Nápovědu k ostatním modulům naleznete v "Přehledu nápověd pro Apollo". (IS Apollo Nápověda Nápověda).

Databáze pro evidenci výrobků

Dědění, polymorfismus

UŽIVATELSKÁ PŘÍRUČKA PRO HOMEBANKING PPF banky a.s.

UKÁZKA PORTÁLU IS KP14+

UKÁZKA PORTÁLU IS KP14+

Transkript:

Dialogy a základy GUI pro.net VI

Obsah uživatelem definované dialogy standardní dialogy a dialogy shellu základy GUI v.netu 2

Dialogy speciální případ okna komunikace s uživatelem základní vlastnosti zpravidla neměnná velikost implicitní reakce na klávesy modální nemodální dialog generování speciálních zpráv funkcionalita dialogu: dodaná funkce parametry shodné s WindowProc implicitní obsluha zpráv: DefDlgProc možno použít DefWindowProc Win32API 3

Dialogy: Modální dialog aplikace: čekání na návratový kód přebrání kontroly nad smyčkou zpráv některé zprávy přeposílány vlastníku chování vůči vlastníku (okno) aplikačně modální: zakázání vlastníka většina dialogů systémově modální: vždy na vrchu úkolově modální (task modal) zakázaní všech top-level oken daného vlákna operace vytvoření a spuštění: DialogBox* ukončení: EndDialog Win32API 4

Dialogy: Nemodální dialog podobné obyčejnému oknu nutno modifikovat smyčku zpráv generování speciálních zpráv dialogu IsDialogMessage reakce na dialogové klávesy inicializace dialogu operace vytvoření: CreateDialog* spuštění: ShowWindow uzavření dialogu zpravidla: uzavření = skrytí dialogu nutno explicitně zrušit: DestroyWindow Win32API 5

Dialogy: Styly dialogu upravují chování dialogu DS_CONTROL: povolení dialogu jako child nutné po použití v property pages DS_CONTEXTHELP: kontextová nápověda podmíněno: WS_EX_CONTEXTHELP generuje WM_HELP DS_SETFONT nastaví fontu dle definice dialogu povolení generování WM_SETFONT upravují vytváření dialogu DS_CENTER: vycentrování okna dialogu DS_CENTERMOUSE: vycentrování kurzoru Win32API 6

Dialogy: Zprávy dialogu zpracovány dialogovou funkcí WM_INITDIALOG nastavení ovládacích prvků možno předat data při vytvoření WM_SETFONT: nastavení fontu WM_CANCELMODE žádost o uvolnění myši vlastníkem WM_HELP: kontextová nápověda reakce na klávesu <F1>: ovládací prvku s focusem dotazovací kurzor: vybraný ovládací prvek Win32API 7

Dialogy: Definice dialogu resources vytvořeno zpravidla před překladem strukturovaný popis dialogu: textová podoba zpravidla návrh pomocí různých editorů kompilace do binární podoby: resources funkce: *Param (DialogBoxParam) programově vytvoření struktury podobné resources struktury DLGTEMPLATE DLGITEMTEMPLATE funkce: *Indirect (DialogBoxIndirect) Win32API 8

Dialogy: Ovládací prvky nutno identifikovat unikátním ID užito pro práci s ovládacími prvky převod ID handle ovládacího prvku funkce GetDlgCtrlID / GetDlgItem hodnota ovládacího prvku celočíselná hodnota textu ovládacího prvku vrací: info o úspěšnosti (neúspěch: nula) funkce GetDlgItemInt / SetDlgItemInt text ovládacího prvku funkce GetDlgItemText / SetDlgItemText blokující vyslání zprávy ovládacímu prvku funkce SendDlgItemMessage Win32API 9

Dialog MFC I potomek třídy CDialog definice dialogu: resources spuštění dialogu modální: DoModal nemodální: Create ukončení dialogu modální: EndDialog voláno defaultní implementací OnOK/OnCancel nemodální: viz okno OnClose: implicitně ruší okno, nikoliv objekt zrušení objektu nutno přidat do PostNcDestroy MFC 10

Dialog MFC: Standardní události počáteční nastavení: OnInitDialog voláno před prvním zobrazením obdoba WM_INITDIALOG možnost určit počáteční focus tlačítko IDOK: OnOK přetěžováno pro nemodální dialogy tlačítko IDCANCEL: OnCancel MFC 11

Dialog MFC: Přístup na data I základní: GetDlgItem viz Win32 DDX: Dialog Data Exchange data a ovládací prvky: atributy třídy ovládací prvky: instance patřičných tříd aplikace dat na ovládací prvky: UpdateData určení směru předání dat: do/z ovl. prvku voláno standardní implementací OnInitDialog modální: před návratem z DoModal přenos dat: DoDataExchange přenos dat: funkce DDX_* MFC 12

Dialog MFC: Přístup na data II DDV: Dialog Data Validation kontrola správnosti dat délka řetězce: DDV_MinMax* rozsah číselné hodnoty: DDV_MaxChars oznámení chyby: CDataExchange::Fail nastavení focusu na ovládací prvek s chybou vyhození výjimky: CUserException zachycení: zobrazení message boxu MFC 13

CommonDialogs vždy modální s jednou výjimkou vlastní obsluha (funkce) dialogu vstup dialogu: struktura nutno nastavit velikost struktury: lstructsize nutno nastavit příznaky: Flags ovlivnění schopností a složek struktury návratové hodnota TRUE: uživatel zvolil tlačítko OK hodnoty dialogu: předaná struktura FALSE: uživatel dialog zrušil selhání dialogu: chyba CommDlgExtendedError Win32API 14

CommonDialogs: Souborové soubor pro vstup kontrola existence vybrané cesty výběr více souborů funkce GetOpenFileName soubor pro výstup možnost kontroly na existenci vybrané cesty a souboru dotazu, zda soubor přepsat funkce GetSaveFileName Win32API 15

CommonDialogs: Vzhledové výběr barvy určení vybrané barvy určení volitelných barev zamezení vytvoření vlastní barvy funkce ChooseColor výběr písma výběr fontů dostupných na zařízení dle DC vrací: LOGFONT funkce ChooseFont Win32API 16

CommonDialogs: Textové nemodální návratová hodnota: handle okna dialogu vysílá zprávu vlastníkovi ID zprávy: nutno zjistit RegisterWindowMessage(FINDMSGSTRING) reakce na zadání vyhledání / nahrazení uzavření dialogu funkce FindText / ReplaceText Win32API 17

CommonDialogs: Tiskové nastavení tisku výběr tiskárny stránek pro tisk počet kopií funkce PrintDlg nastavení stránky tiskárny pro výstup okrajů stránky jednotky: milimetry, palce dle nastavení systému funkce PageSetupDlg Win32API 18

Další dialogy: Výběr adresáře vrací strukturu identifikátoru adresáře nutno přeložit: SHGetPathFromIDList nutno explicitně dealokovat rozrhanní IMalloc: SHGetMalloc možnost filtrovat adresáře (WinXP) vytvářet adresáře funkce SHBrowseForFolder nutné shlobj.h, shell32.lib Win32API 19

Okno okno = třída System.Windows.Forms Control základní třída pro všechna okna specializace: jednotlivé ovládací prvky UserControl určeno pro vytváření vlastních ovládacích prvků Form samostatné okno zpravidla hlavní okno aplikace též funkcionalita dialogu.net 20

Okno: Události zpráva = vyvolání události obsluha události okno neobsluhuje jiné události vytvoření obsluhy registrování události doporučený způsob parametry: původce + parametr dle události přetížení funkce On- nedoporučený způsob vhodné pro odstínění události vhodné zavolat implementaci v předku nevyvolání: nevygenerování události.net 21

Okno: Smyčka událostí standardní metoda Application.Run forma nemusí být viditelná ukončení uzavření hlavního okna Application.Exit idle nahrazení části metody Run MyForm form = new MyForm(); form.show(); while (form.created) { form.dosomethinguseful(); Application.DoEvents(); }.NET 22

Okno: Vytvoření okna vytvoření instance třídy konstruktor třídy vytvoření potomků registrace událostí vhodné blokovat událost změny rozložení první zobrazení okna dodatečné nastavení okna událost Load detekce vytvořeného okna property Created.NET 23

Okno: Zrušení okna události uzavření okna požadavek na uzavření lze odmítnout užití: otázka Are you sure? událost Closing oznámení o uzavření okno nelze přímo obnovit událost Closed nevyvoláno při Application.Exit programově běžné okno: funkce Close znovupoužitelná okna: skrytí okna (Hide).NET 24

Okno: Vztahy mezi okny rodič-potomek ovládací prvky nastavováno automaticky rodič: property Parent potomci: Controls užití: přidávání ovládacích prvků hlavní okno: nevyšší rodič property TopLevelControl vlastník-vlastněný dialogy property Owner / OwnedForms.NET 25

Okno: Základní vlastnosti aplikováno zpravidla na potomky generují patřičnou událost (event) možnost dvojce událostí: před a po před: možnost odmítnutí operace povolení okna: Enabled zobrazení okna: Visible též Show/Hide aktivace okna: Select přesunutí do popředí a získání focusu titulek okna: Text.NET 26

Okno: Rozmístění potomků automaticky zamknutí okraje vzhledem k okraji rodiče property Anchor možné kombinace okrajů přilepení k okraji: nelze kombinovat property Dock dle hloubky (z-order) ručně: událost Layout nastavení ovladacích prvků reakce na událost Resize změna: vhodné zamezit obsluhu SuspendLayout / ResumeLayout.NET 27

Okno: Pozice změna: událost nastavení okrajů okna property Bounds levý horní roh: Location možno užít též pro počáteční pozici počáteční pozice property StartPosition zpravidla pro dialogy aplikace: při zobrazení automaticky ručně (Location).NET 28

Okno: Velikost velikost okna: Size velikost klientí plochy: ClientSize volá SetClientSizeCore: lze přetížit detekce změny velikosti: Resize generuje požadavek na změnu rozložení maximální rozměry okna MinimumSize / MaximumSize stav okna: WindowState maximalizace/minimalizace.net 29

Okno: Vzhled I barva: Fore/BackColor ovlivňuje vykreslování všech potomků systémové barvy: struktura SystemColors nastavení okraje: FormBorderStyle ovlivňuje schopnost měnit velikost možnost zakázání okraje pořadí hloubky primárně: dle pořadí přidávání změna za běhu: BringToFront / SendToBack vždy v popředí: TopMost.NET 30

Okno: Vzhled II uživatelský tvar okna možno nastavit libovolný tvar: Region vytvořeno složením křivek možno zprůhlednit části: TransparencyKey průhledná barva: bez reakce na myš průsvitnost okna: Opacity podpora pro témata implicitně: standardní Win2k vzhled povolení: Application.EnableVisualStyles zobrazení v liště: ShowInTaskBar vhodné pro dialogy.net 31

Okno: Focus implicitní uživatelský vstup zjištění focusu daného okna: Focused včetně potomků: ContainsFocus nastavení focusu uživatele reakce na <tab>: property TabStop pořadí reakce na <tab>: property TabIndex programově funkce Focus úspěch nemusí být automatický událost: GotFocus / LostFocus.NET 32

Pokračování příště... děkuji za pozornost příště grafický výstup nezapomeňte nakrmit ryběnky 33