Sunteți pe pagina 1din 4

sMinisterul Educaiei i Tineretului al Republicii Moldova

Universitatea Tehnic a Moldovei


Facultatea Calculatoare Informatic i Microelectronic
Catedra Automatica i Tehnologii Informaionale

Raport
Programarea Windows
Lucrarea de laborator Nr. 1
Tema: Aplicaii Windows

A efectuat:

st. grupei TI

A verificat :

lector universitar
Cojocaru S.

Chiinu 2016

Scopul lucrrii:
Studierea bazelor i principiilor de creare a aplicaiilor Windows.
Sarcina lucrrii:
Creai o aplicaie Windows, n centrul zonei client al creia este afiat un mesaj Lucrarea
de laborator al studentului .... La redimensionarea ferestrei, mesajul trebuie sa fie afiat n
centrul zonei client.

Rezultatul programului:

Listingul programului:
#include <windows.h>
//Procedura de fereastra
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//Iregistrarea clasei de fereastra
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpszCmdLine, int iCmdShow)
{
static char szAppName[] = "HelloWind";
HWND
hwnd;
MSG
msg;
WNDCLASSEX wndclass;
wndclass.cbSize
= sizeof(wndclass);
wndclass.style
= CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc
= WndProc;
wndclass.cbClsExtra
= 0;
wndclass.cbWndExtra
= 0;
wndclass.hInstance
= hInstance;
wndclass.hIcon
= LoadIcon(NULL, IDI_APPLICATION);
wndclass.hIconSm
= LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor
= LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground
= (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName
= NULL;
wndclass.lpszClassName
= szAppName;
RegisterClassEx(&wndclass);
//Crearea ferestrei
hwnd = CreateWindow(szAppName,
"Primul Program Windows",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd, iCmdShow);
UpdateWindow(hwnd);
//Ciclu de mesaje
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;

}
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
RECT rect;
PAINTSTRUCT ps;
switch (iMsg)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rect);
DrawText(hdc, "Lucrarea de laborator al studentului Dumbrava Alexandru", -1,
&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);

EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, iMsg, wParam, lParam);

Concluzie:
n urma efecturii lucrrii de laborator respective am fcut cunotin cu mediul de
programare Visual C++. Am fcut cunotin cu bazele i principiile de creare a unei simple
aplicaii Windows. Am luat cunotin cu funciile principale care trebuia s fie utilizate n
program. Am observat c programarea sub Windows este foarte diferit de programarea
pentru un mediu convenional.