MFC programare bazată pe evenimente

50 %
50 %
Information about MFC programare bazată pe evenimente
Education

Published on March 11, 2014

Author: mcroitor

Source: slideshare.net

Description

Sunt date niște repere teoretice ce descriu programare bazată pe evenimente. Se aduce caz parțial - prelucrarea evenimentelor în MFC

MFC: PROGRAMARE BAZATĂ PE EVENIMENTE Mihail Croitor

Conținut  Evenimente  Prelucrarea evenimentelor  Harta mesajelor  Tipurile evenimentelor în MFC  Adăugarea prelucrătorilor de evenimente în MFC

Eveniment  Eveniment – o modificare a stării sistemului informatic.  Evenimentele pot fi:  externe  de la utilizator  de la sistem de operare  interne  Noțiunea de eveniment este strâns legată cu noțiunea de mesaj – indicator de apariție a evenimentului

Prelucrarea evenimentelor: noțiuni principale  Orice aplicație dirijată de evenimente conține:  Coada de evenimente – o secvență de evenimente, pe care aplicația trebuie să prelucreze;  Prelucrători de evenimente – funcții apelate în urma reacționării la eveniment;  Ciclu de evenimente – ciclu, în care fiecare eveniment se leagă cu funcția-prelucrator corespunzător

Prelucrarea evenimentelor: exemplu de ciclu de evenimente while(true) { // get event from queue evt = GetEvent(); // start dispatch switch(evt) { case EVENT1: DoSmth1(); break; case EVENT2: DoSmth2(); break; case EVENT3: DoSmth3(); break; case EVENT4: DoSmth4(); break; } // end dispatch } Dispecerizarea evenimentului

Prelucrarea evenimentelor: ciclu de evenimente în MFC while (GetMessage(&msg, (HWND) NULL, 0, 0)) { if (TranslateAccelerator(hwndMain, haccl, &msg) == 0) { TranslateMessage(&msg); DispatchMessage(&msg); } } Scoaterea evenimentului din coada Dispecerizarea evenimentelor Prelucrarea apasarii tastelor virtuale Prelucrarea acceleratorilor

Prelucrarea evenimentelor: harta de mesaje BEGIN_MESSAGE_MAP(CTrysdi2App, CWinApp) //{{AFX_MSG_MAP(CTrysdi2App) ON_COMMAND(ID_APP_ABOUT, OnAppAbout) //}}AFX_MSG_MAP // Standard file based document commands ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) // Standard print setup command ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) END_MESSAGE_MAP() Harta de mesaje leagă evenimente cu prelucrători Macrocomenzile între //{{AFX_MSG_MAP(CTrysdi2App) Și //}}AFX_MSG_MAP Se generează de M$ V$

Tipuri de mesaje în MFC  Mesaje-comenzi – mesajele, generate de către opțiuni de meniu și acceleratori.  Mesajele sistemului de operare – mesaje de reînnoire a interfeței utilizator  Mesajele utilizatorului – mesaje, definite de utilizator

Tipuri de mesaje în MFC: mesaje-comenzi  Se definesc cu ajutorul macrocomenzii ON_COMMAND(id, pFn), unde id – identificatorul evenimentului, pFn – pointer la funcția-prelucrător.  Exemple:  ON_COMMAND(ID_FILE_OPEN, OnFileOpen)  ON_COMMAND_RANGE(ID_MENU1, ID_MENU5, OnMenuSelected)

Tipuri de mesaje în MFC: mesajele SO  Reînnoirea interfeței utilizator a aplicației: ON_UPDATE_COMMAND_UI(id, pFn)  Prelucrarea evenimentelor de la elemente de control: ON_<EVENT> - unde <EVENT> - un eveniment al SO.  Exemplu:  ON_BN_CLICKED(IDC_OK, OnOk) // eveniment WM_BN_CLICKED

Tipuri de mesaje în MFC: mesajele utilizatorului  Orice mesaj (în particular, cel definit de utilizator) poate fi legat cu un prelucrător cu ajutorul macrocomenzii ON_MESSAGE(idMsg, pFn)  Identificatorul mesajului se definește prin constanta WM_USER (spațiu de identificator rezervat):  #define PM_DECIMAL WM_USER + 0  #define PM_BINARY WM_USER + 1

Add a comment

Related presentations

Related pages

Programare concurenta si bazata pe evenimente

Programare concurentă şi bazată pe evenimente ... Bun venit pe pagina oficiala a laboratorului de Programare concurenta si bazata pe evenimente!
Read more

Programare Delphi Curs 9 Programare bazată pe evenimente

Programare bazată pe evenimente ... pe butonul But0 în pagina de design deschide automat pagina de cod în care Delphi a predefinit
Read more

INITIERE IN C++ PROGRAMARE ORIENTATA PE OBIECTE(ED. REV ...

MFC programare bazată pe evenimente Sunt date niște repere teoretice ce descriu programare bazată pe evenimente. Se aduce caz parțial ...
Read more

Continental Corporation -Programare Orientată pe Obiecte

Programare Orientată pe Obiecte este o paradigmă de programare care foloseşte ... (evenimente, acţiuni ... Programarea bazată pe evenimente ...
Read more

Programare Orientata pe Obiecte si Programare Vizuala ...

MFC programare bazată pe evenimente Sunt date niște repere teoretice ce descriu programare bazată pe evenimente. Se aduce caz parțial ...
Read more

Programare Delphi

Programare bazată pe evenimente. Delegarea metodelor, evenimente, interceptarea şi tratarea mesajelor; Interfeţe. Tratarea excepţiilor.
Read more

FIŞA DISCIPLINEI PROGRAMARE CONCURENTA SI BAZATA PE ...

FIŞA DISCIPLINEI PROGRAMARE CONCURENTA SI BAZATA PE EVENIMENTE1 1. ... 2.1 Denumirea disciplinei Programare concurentă și bazată pe evenimente
Read more

Evenimente in 2015, 2016 din Romania

Evenimente in 2015, ... Bine ai venit pe VinSiEu.ro! Aici afli cele mai importante evenimente din 2015, 2016. Vrei sa stii ce evenimente, concerte, ...
Read more

Planificarea unei activități - Ajutor Windows

Pentru a selecta o programare în funcție de anumite evenimente, faceți clic pe Când se ... Pentru a selecta o programare bazată pe ...
Read more