#include<windows.h>#include<stdlib.h>#include<string.h> long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG IParam); // 获取BOOL InitWindowsClass(HINSTANCE hInstance);BOOL InitWindows(HINSTANCE hInstance,int nCmdShow); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ MSG Message; if(!InitWindowsClass(hInstance)) { return FALSE; } if(!InitWindows(hInstance,nCmdShow)) { return FALSE; } while(GetMessage(&Message,0,0,0)) { TranslateMessage(&Message); DispatchMessage(&Message); } return Message.wParam;} long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG IParam){ HDC hDC; HBRUSH hBrush; HPEN hPen; PAINTSTRUCT PtStr; switch(iMessage) { case WM_PAINT: hDC=BeginPaint(hWnd,&PtStr); SetMapMode(hDC,MM_ANISOTROPIC); hPen=(HPEN)GetStockObject(BLACK_PEN); hBrush=(HBRUSH)GetStockObject(DKGRAY_BRUSH); SelectObject(hDC,hPen); SelectObject(hDC,hBrush); RoundRect(hDC,50,120,100,200,15,15); hBrush=(HBRUSH)GetStockObject(LTGRAY_BRUSH); SelectObject(hDC,hBrush); Ellipse(hDC,150,50,200,150); hBrush=(HBRUSH)GetStockObject(LTGRAY_BRUSH); SelectObject(hDC,hBrush); Pie(hDC,250,50,300,100,250,50,300,50); EndPaint(hWnd,&PtStr); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; default: return(DefWindowProc(hWnd,iMessage,wParam,IParam)); }} BOOL InitWindows(HINSTANCE hInstance,int nCmdShow){ HWND hWnd; hWnd=CreateWindow( "WinFill", "填充程序实例", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL ); if(!hWnd) { return FALSE; } ShowWindow(hWnd,nCmdShow); UpdateWindow(hWnd); return TRUE;} BOOL InitWindowsClass(HINSTANCE hInstance){ WNDCLASS WndClass; WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH)); WndClass.hCursor=LoadCursor(hInstance,IDC_ARROW); WndClass.hIcon=LoadIcon(NULL,"END"); WndClass.lpszClassName="WinFill"; WndClass.hInstance=hInstance; WndClass.lpfnWndProc=WndProc; WndClass.lpszMenuName=NULL; WndClass.style=CS_HREDRAW|CS_VREDRAW; return RegisterClass(&WndClass); }

评论