#include #include #include "resource.h" char szappname[]="Primul exemplu de aplicatie fereastra"; HWND hControl; HINSTANCE hInst; long FAR PASCAL WndProc(HWND, WPARAM, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszcmdline, int ncmdshow) { WNDCLASS wnd; MSG msg; HWND hwnd; hInst=hInstance; if (!hPrevInstance) { wnd.style = CS_HREDRAW | CS_VREDRAW; wnd.lpfnWndProc = WndProc; wnd.cbClsExtra = 0; wnd.cbWndExtra = 0; wnd.hInstance = hInstance; wnd.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON)); wnd.hCursor = LoadCursor(NULL, IDC_ARROW); wnd.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH); wnd.lpszMenuName = NULL; wnd.lpszClassName = szappname; if (!RegisterClass(&wnd)) return FALSE; } hwnd = CreateWindow(szappname, "Cel mai simplu program", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if (!hwnd) return (FALSE); ShowWindow(hwnd, ncmdshow); UpdateWindow(hwnd); while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } long FAR PASCAL WndProc(HWND hwnd, WPARAM message, WPARAM wparam, LPARAM lparam) { HDC hdc; PAINTSTRUCT ps; RECT rect; char text[] = "Programul afiseaza un text\ \ncentrat si ajustabil in fereastra,\ \nun dreptunghi si un buton in pozitii fixe.\ \nLa un click pe buton sau \ la apasarea unei taste in fereastra ==> STOP"; switch (message) { case WM_CREATE: hControl=CreateWindow("button","STOP",WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 0,0,60,20,hwnd,(HMENU)IDC_BUTTON,hInst,NULL); case WM_PAINT: hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rect); DrawText(hdc, text, strlen(text), &rect, DT_CENTER | DT_EXTERNALLEADING | DT_NOCLIP | DT_WORDBREAK); GetClientRect (hwnd, &rect); MoveToEx(hdc, 40, 60, NULL); LineTo(hdc,100,60); LineTo(hdc,100,90); LineTo(hdc,40,90); LineTo(hdc,40,60); EndPaint(hwnd, &ps); return(0); case WM_COMMAND: if (LOWORD(wparam)==IDC_BUTTON) exit(0); case WM_KEYDOWN: exit(0); case WM_DESTROY: PostQuitMessage(0); return(0); } return DefWindowProc(hwnd, message, wparam, lparam); }