Eseményvezérelt alkalmazások

Hasonló dokumentumok
1. feladat. Szabóné Nacsa Rozália

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME

Adatbázis-kezelés ODBC driverrel

Adatbázis-kezelés ActiveX vezérl kkel 2.rész

Adatbázis-kezelés API hívásokkal. Adatbázis-kezelés ODBC-vel. Adatbázis-kezelés SQL parancsokkal. Adatbázis-kezelés ODBC-vel.

Adatbázis-kezelés ODBC-vel

Adatbázis-kezelés ActiveX vezérl kkel

9. óra operációs rendszerek. Grafikus operációs rendszer

Széchenyi István Egyetem

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

II. év. Adatbázisok és számítógépek programozása

Szabóné Nacsa Rozália. Feladat. Készítsünk el egy üres FormView alapú alkalmazást és építsünk köré egy súgó környezetet.

ADATBÁZISKEZELÉS KÖZVETLEN ELÉRÉSSEL II...2

A szerzõrõl... xi Bevezetés... xiii

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

Adatelemzés SAS Enterprise Guide használatával. Soltész Gábor solteszgabee[at]gmail.com

Elemi alkalmazások fejlesztése I.

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

Programozási technológia

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

Dr. Pétery Kristóf: CorelDRAW 9 testre szabás

Tájékoztató a kollégiumi internet beállításához

Swing GUI készítése NetBeans IDE segítségével

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren

A Java nyelv. Dialógus ablakok. Elek Tibor

Eseményvezérelt és objektumorientált programozás

15.4.2b Laborgyakorlat: Mappa és nyomtató megosztása, a megosztási jogok beállítása

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

TvNetTel Internet Kapcsolat Beállítása

17. Többdokumentumos alkalmazások készítése..3 A többdokumentumos felület...3. A program elkészítése...27

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows7 operációs rendszer és Internet Explorer 8-es verziójú böngésző esetén

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

CitiDirect BE SM Felhasználói útmutató

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése

ArcView 2.sz. gyakorlat

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

Elemi alkalmazások fejlesztése III.

Java programozási nyelv 6. rész Java a gyakorlatban

RAJZ1. vezetett gyakorlat

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

5.6.3 Laborgyakorlat: Windows rendszerleíró adatbázis biztonsági mentése és visszaállítása

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

Technikai tájékoztató - kérdések és válaszok TSD-QA89 (2011/11)

Elektronikus aláírás ellenőrzése PDF formátumú e-számlán

Adatok titkosítása. Hálózatok biztonsága. IV. mérési utasítás SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Szoftvertechnolo gia 7. gyakorlat

I. fejezet Hello Világ! Programozás tankönyv. II. Fejezet. Helló Világ! avagy a Miért?-ek elkezdődnek

libgdx alapok, első alkalmazás

Komponens alapú fejlesztés

Stateless Session Bean

Szolgáltatási szerződés elektronikus aláírása

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Az eszközpaletta. Felsı sor balról jobbra. Második sor balról jobbra 1/7

munkafüzet open eseményéhez

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Pázmány Péter Katolikus Egyetem

TELEPÍTÉSI ÚTMUTATÓ SW

Elektronikus pályázati űrlap (eform) létrehozása - Útmutató

Az alábbiakban szeretnénk segítséget nyújtani Önnek a CIB Internet Bankból történő nyomtatáshoz szükséges böngésző beállítások végrehajtásában.

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Tisztelt Felhasználó!

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Georeferálás, leválogatás ArcGIS 10-ben

Korábbi e-számlák esetén a Mávinformatika tanúsítványát töltse le, mely hiteles szolgáltatói tanúsítvány:kgyhsz_ca_ cer.

Access adatbázis elérése OLE DB-n keresztül

Telepítési útmutató. 1.1 lépés : Telepítés típusa - ablak :

Verzió Dátum Szerkesztő Módosítás leírása CLIPPER verzió

Hálózati betekint ő program telepítése mobil telefonra. Symbian. alarm shop. Windows mobile Android IPhone Blackberry

Ozeki Weboffice. 1. ábra

KEZELÉSI ÚTMUTATÓ WIFI ADAPTER

Cikktípusok készítése a Xarayában

Thermo1 Graph. Felhasználói segédlet

1. A NÉPESSÉGNYILVÁNTARTÓ PROGRAM TELEPÍTÉSI FELTÉTELE. A

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész


A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

Levelezési beállítások

Bánsághi Anna 2015 Bánsághi Anna 1 of 31

Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák

Mappák megosztása a GroupWise-ban

VARIO Face 2.0 Felhasználói kézikönyv

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka

Vezeték nélküli hálózat

Számla kontroll Push üzenet szolgáltatás Gyakori kérdések

Elemi alkalmazások fejlesztése IV.

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

MySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa

Szolgáltatási szerződés elektronikus aláírása

AUTOMATIKUS GÉPJÁRMŰ BELÉPTETŐ RENDSZER

M-Fájlok létrehozása MATLAB-ban

A fényképezőgép-firmware frissítése

Átírás:

Szabóné Nacsa Rozália nacsa@inf.elte.hu

Eseményvezérelt alkalmazások A Windows alkalmazások eseményvezérelt alkalmazások Esemény: egér kattintás billenty leütés stb.

Üzenetkezelés Operációs rendszer kódja 1. A Windows érzékeli az eseményt. 2. A Windows meghatározza, hogy az esemény mely ablak(ok)ra vonatkozik. 3. A Windows meghívja az adott ablak ablakkezel függvényét (WndProc). 4. A WndProc függvény meghatározza az esemény/üzenet típusát, majd átadja a vezérlést az adott üzenetet lekezel függvénynek. MFC/Üzenettábla 5. A függvény feldolgozza a kapott üzenetet. Esemény/üzenet kezel függvény

Feladat Adjunk meg két számot, és a Számol gomb lenyomása után jelenítsük meg a két szám összegét. A Vége gomb lenyomásakor lépjünk ki az alkalmazásból. A párbeszédablak címkesorában jelenjen meg a Számolási gyakorlatok felirat.

Microsoft Foundation Classes Osztálykönyvtár Alkalmazás keretrendszer

Információk az MFC osztályokról: Help

Információk az MFC osztályokról: Help

Információk az MFC osztályokról: Help

Projekt összeállítása MFC AppWizard Osztályvarázsló Projekt csontváza Dialógustervez Programozó

Új project váz létrehozása

Project típusa: MFC App Wizard(exe) 3 2 1 4 MFC_AppWizard(exe)

MFC AppWizard Step 1 Dialog based Minta

Minta MFC AppWizard Step 2

Comments MFC AppWizard Step 3

MFC AppWizard Step 4

New Project Information Summary type classes features

Generált osztályok Classes to be created: Application CSzamolApp in Szamol.h and Szamol.cpp. Dialog: CSzamolDlg in SzamolDlg.h and SzamolDlg.cpp

Projekt fordítása/szerkesztése/futtatása Rebuild all

Az alkalmazásvarázsló által generált osztályok CWinApp CDialog CSzamolApp CSzamolDlg InitInstance()

Az alkalmazásvarázsló által generált osztályok megvalósítása CWinApp CDialog CSzamolApp CSzamolDlg InitInstance() Szamol.h Szamol.cpp SzamolDlg.h SzamolDlg.cpp

Workspace, Output view Workspace Output View

Workspace, Output view Workspace A Workspace és az Output View megjelenítését a View menüpontban szabályozhatjuk.

Class View Class View

Resource View ResourceView

File View FileView

Szamol.h - részlet //{{AFX_ //}}AFX_

Szamol.cpp - részlet

SzamolDlg.h - részlet

SzamolDlg.cpp - részlet

Példa dialógusablakra

Dialógusablak tervezése 2 3 1 4

Text box Text Box

Edit box Edit Box

Radio button Radio Button

Group Box Csak keret! Group box

Button Button

Egy egyszer feladat Adjunk meg két számot, és a Számol gombra kattintva jelenítsük meg a két szám összegét. A Vége gombra kattintva lépjünk ki az alkalmazásból. A párbeszédablak címkesorában jelenjen meg a Számolási gyakorlatok felirat.

A Szamol alkalmazás osztálydiagramja CWinApp CDialog CSzamolApp InitInstance() adattagok eseménykezel k CSzamolDlg int m_op1; int m_op2; int m_eredmeny; OnSzamolButton(); OnVegeButton();

IDC_OP2_EDIT Vezérl elemek IDC_OP1_EDIT IDC_EREDMENY_EDIT IDC_SZAMOL_BUTTON IDC_VEGE_BUTTON IDC_STATIC IDC_STATIC

m_op2 Vezérl elemek + változók IDC_OP2_EDIT m_op1 m_eredmeny IDC_OP1_EDIT IDC_EREDMENY_EDIT IDC_SZAMOL_BUTTON IDC_VEGE_BUTTON IDC_STATIC IDC_STATIC

Párbeszédablak - Properties Címkesor szövegének beállítása 1 Jobb egérgombbal hívjuk el a helyi menüt, majd válasszuk ki a Properties menüpontot. 2

Párbeszédablak - Címke A Properties ablakban megadhajuk az ablak cimkesorát.

Vezérl k törlése Töröljük le a generált párbeszédablak vezérl it.

Els operandus elhelyezése Válasszuk ki az Edit Box eszközt, majd jelöljük ki az els operandus helyét.

Jellemz k (properties) beálítása A kiválasztott szövegdoboz felett jobb egérgombbal hívjuk el a helyi menüt, majd válasszuk ki a Properties menüpontot.

General Properties Styles Extended styles IDC_OP1_EDIT

Adattag - Vezérl CDialog IDC_OP1_EDIT CSzamolDlg int m_op1; Adattag Vezérl elem Ha az adattagot az osztályvarázslóval hozzuk létre, akkor a kapcsolattartás jól m ködik.

Class Wizard Adattag hozzáadása 1 2 4 3 View/Class Wizard (Ctrl+W) vagy Ctrl+dupla klikk.

Adattag specifikálása 1 3 2 4 5 6 7

class CSzamolDlg : public CDialog {... // Dialog Data //{{AFX_DATA(CSzamolDlg) enum { IDD = IDD_SZAMOL_DIALOG }; } int //}}AFX_DATA m_op1; SzamolDlg.h Az AddVariable eredménye. CSzamolDlg::CSzamolDlg(CWnd* pparent /*=NULL*/) : CDialog(CSzamolDlg::IDD, pparent) { //{{AFX_DATA_INIT(CSzamolDlg) m_op1 = 0; } //}}AFX_DATA_INIT... SzamolDlg.cpp

Az Op1-hez hasonlóan elkészíthetjük az Op2 és az Eredmeny szövegdobozokat is. Vezérl azonosító: IDC_OP1_EDIT Változó: int m_op1 Vezérl azonosító: IDC_OP2_EDIT Változó: int m_op2 Vezérl azonosító: IDC_EREDMENY_EDIT Változó: int m_eredmeny

A kiválasztott szövegdoboz felett jobb egérgombbal hívjuk el a helyi menüt, majd válasszuk ki a Properties menüpontot. Text Box

Text Box Jobb egérgomb + Properties Nem egyedi név

Jobb egérgomb + Properties Button

Jobb egérgomb + Properties Button

IDC_OP1_EDIT IDC_OP2_EDIT CDialog IDC_EREDMENY_EDIT CSzamolDlg int m_op1; int m_op1; int m_eredmeny;

Class Wizard: Member variables

CSzamolDlg osztály - SzamolDlg.h class CSzamolDlg : public CDialog { // Construction public: CSzamolDlg(CWnd* pparent = NULL); SzamolDlg.h // standard constructor // Dialog Data //{{AFX_DATA(CSzamolDlg) enum { IDD = IDD_SZAMOL_DIALOG }; int int int m_op1; m_op2; m_eredmeny;... } //}}AFX_DATA

CSzamolDlg osztály SzamolDlg.cpp CSzamolDlg::CSzamolDlg(CWnd* pparent /*=NULL*/) : CDialog(CSzamolDlg::IDD, pparent) { //{{AFX_DATA_INIT(CSzamolDlg) SzamolDlg.cpp m_op1 = 0; m_op2 = 0; m_eredmeny = 0; } //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hicon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

Változók feltöltése a vezérl kb l IDC_OP1_EDIT IDC_OP2_EDIT CDialog IDC_EREDMENY_EDIT CSzamolDlg int m_op1; int m_op1; int m_eredmeny; UpdateData() vagy UpdateData(TRUE)

Vezérl k feltöltése az adattagokból IDC_OP1_EDIT IDC_OP2_EDIT CDialog IDC_EREDMENY_EDIT CszamolDlg int m_op1; int m_op1; int m_eredmeny; UpdateData(FALSE)

Adatcsere void CSzamolDlg::DoDataExchange(CDataExchange* pdx) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSzamolDlg) DDX_Text(pDX, IDC_OP1_EDIT, m_op1); DDX_Text(pDX, IDC_OP2_EDIT, m_op2); DDX_Text(pDX, IDC_EREDMENY_EDIT, m_eredmeny); } //}}AFX_DATA_MAP Ebbe a táblába csak azok a változók kerülnek be, akiket az osztályvarázslóval hoztunk létre.

Eseménykezelés - Számol CSzamolDlg int m_op1; int m_op1; int m_eredmeny; A Számol gombra kattintva hajtsuk végre a következ ket: UpdateData(); 1

Eseménykezelés - Számol CsSzamolDlg int m_op1; int m_op1; int m_eredmeny; A Számol gombra kattintva hajtsuk végre a következ ket: UpdateData(); m_eredmeny = m_op1 + m_op2; 2

Eseménykezelés - Számol CSzamolDlg int m_op1; int m_op1; int m_eredmeny; A Számol gombra kattintva hajtsuk végre a következ ket: UpdateData(); m_eredmeny = m_op1 + m_op2; UpdateData(FALSE); 3

A Számol gombra kattintva,?

Eseménykezelés - konvenciók Vezérl azonosító: IDC_SZAMOL_BUTTON Üzenet: BN_CLICKED Eseménykezel metódus: OnSzamolButton() Az eseménykezel metódus vázát osztályvarázslóval hozzuk létre.

Eseménykezelés: Számol gomb View/Class Wizard 1 2 3

Eseménykezelés: Számol gomb View/Class Wizard 1 2 5 4 7 3 6

Eseménykezelés: Számol gomb

OnSzamolButton() - kód Az eseménykezel váza

OnSzamolButton()

Eseménykezelés: Számol gomb void CSzamolDlg::OnSzamolButton() { // TODO: Add your control notification handler code here } UpdateData(); m_eredmeny = m_op1 + m_op2; UpdateData(FALSE); Itt adjuk meg, mit kell tenni, ha a Számol gombra kattintott valaki.

Eseménykezelés:Vége gomb Feladat: A Vége gombra kattintva lépjünk ki az alkalmazásból.

Control ID: IDC_VEGE_BUTTON Message handler: onvegebutton Az eseménykezel metódus vázát osztályvarázslóval hozzuk létre.

1 2 5 4 7 3 6

void CSzamolDlg::OnVegeButton() { // TODO: Add your control notification handler code here } OnOK();

SzamolDlg.cpp (részlet) void CSzamolDlg::OnSzamolButton() { // TODO: Add your control notification handler code here UpdateData(); m_eredmeny = m_op1 + m_op2; UpdateData(FALSE); } SzamolDlg.cpp (részlet) void CSzamolDlg::OnVegeButton() { // TODO: Add your control notification handler code here OnOK(); }

Massege Map - Deklaráció

Message Map Implementáció

Alkalmazás fordítása

Alkalmazás fordítása

Alkalmazás futtatása