Documente Academic
Documente Profesional
Documente Cultură
Raport
Lucrarea de laborator nr.1
Disciplina: Programarea Windows
Chișinău - 2017
Tema: Aplicații Windows
Sarcina lucrării: Creați o aplicație Windows, în centrul zonei Client al căreia este afișat un mesaj ”Lucrarea
de laborator a studentului…”. La redimensionarea ferestrei, mesajul trebuie să fie afișat în centrul zonei
Client.
Listingul programului:
#include <windows.h>
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra =0;
wndclass.cbWndExtra =0;
wndclass.hInstance = hInstance ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
RegisterClassEx (&wndclass) ;
UpdateWindow (hwnd) ;
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
return msg.wParam ;
LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
switch (iMsg)
case WM_CREATE :
return 0 ;
case WM_PAINT :
FillRect(GetDC(hwnd),&rect,CreateSolidBrush(RGB(6,161,130)));
SetTextColor(hdc,RGB(6,18,15));
SetBkMode(hdc,TRANSPARENT);
DrawText (hdc, "Lucrare de laborator nr.1 a studentei gr. TI-154 Balan Ana ", -1, &rect,
return 0 ;
case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
Rezultatul programului:
Întrebări de control:
1. Care este sarcina principală a procedurii de fereastră?
Procedura de fereastră este e funcţie care se poate afla chiar în program sau într-o bibliotecă cu
legături dinamice. Windows trimite un mesaj către o fereastră prin apelarea procedurii de fereastră.
Procedura de fereastră prelucrează anumite informaţii pe baza mesajului primit, apoi returnează
controlul sistemului de operare.
O fereastră este creată întotdeauna pe baza unei „clase de fereastră". Clasa specifică procedura de
fereastră care prelucrează mesajele trimise către fereastră. Folosirea unei clase de fereastră permite ca în
baza aceleiași clase să se creeze mai multe ferestre care, ca urmare, folosesc aceeași procedură de
fereastră.
3. Descrieți câmpurile clasei de fereastră.
Orice fereastră din Windows are o variabilă handle. O variabilă handle este o variabilă care se
folosește pentru indicarea ferestrei. Multe funcții Windows au un parametru hwnd care specifică
fereastra la care se referă funcția respectivă. Dacă un pogram creează mai multe ferestre, fiecare are o
variabilă handle diferită.
Orice mesaj pe care procedura de fereastră nu-l prelucrează este transmis funcției DefWindowProc.
Concluzie:
În cadrul acestei lucrări de laborator am studiat bazele și principiile de creare a aplicațiilor Windows.
Efectuând lucrarea dată am învățat ca Windows suportă mai mult de o mie de apeluri de funcții pe care le pot
folosi aplicațiile, câteva din cele mai importante fiind CreateWindow, ShowWindow, RegisterClassEx,
DrawText etc.
O diferență între funcțiile din C++ și funcțiile Windows este următoarea: în cazul funcțiilor C++ codul
funcțiilor este legat direct de codul programului, pe când codul funcțiilor Windows este stocat în fișiere din
afara programului, numite biblioteci cu legături dinamice.
Bibliografie:
1. Beșliu, Victor; Iacob, Mihaela; Panu, Cristina, Îndrumar de laboratoare la Programarea Windows,
UTM, Chișinău, 2006
2. http://elearning.utm.md/moodle/course/view.php?id=17§ion=1, Beșliu Victor, 13.02.17