文档详情

VisualC面向对象与可视化程序设计3.ppt

发布:2017-02-18约1.17万字共52页下载文档
文本预览下载声明
第4章 GDI及windows绘图 第4章 GDI及Windows绘图 Huang Weitong #includewindows.h #includestdlib.h #includestring.h long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam); BOOL InitWindowsClass(HINSTANCE hInstance); BOOL InitWindows(HINSTANCE hInstance,int nCmdShow); HWND hWndMain; //主函数 int WINAPI W inMain(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 lParam) {HDC hDC; //定义设备环境句柄 HBRUSH hBrush; //定义画刷的句柄 HPEN hPen; //定义画笔的句柄 PAINTSTRUCT PtStr; //定义指向包含绘图信息的结构体变量 //定义一个POINT数组,包括6个点 POINT points[6]={{100,212},{70,227},{70,250},{130,250},{130,227},{100,212}}; switch(iMessage) //处理消息 { case WM_PAINT: //处理绘图消息 hDC=BeginPaint(hWnd,PtStr); hPen=(HPEN)GetStockObject(NULL_PEN); //获取系统定义的空画笔 SelectObject(hDC,hPen); //选择画笔 hBrush=(HBRUSH)GetStockObject(BLACK_BRUSH); //获取系统定义的画刷 SelectObject(hDC,hBrush); //选择画刷 LineTo(hDC,50,50); //画线 DeleteObject(hPen); //删除画笔 hPen=CreatePen(PS_SOLID,2,RGB(255,0,0)); //创建画笔 SelectObject(hDC,hPen); //选择画笔 //画一个三角形 LineTo(hDC,150,50); LineTo(hDC,100,137); LineTo(hDC,50,50); Polyline(hDC,points,6); //画一个五边形 Arc(hDC,63,137,138,212,100,137,100,137); //画一个圆 Pie(hDC,213,137,288,212,240,137,260,137); //画一个圆饼 Rectangle(hDC,213,212,287,250); //画一个长方形 RoundRect(hDC,213,100,287,137,20,20); //画一个圆角长方形 DeleteObject(hPen); //删除画笔 DeleteObject(hBrush); //删除画刷 EndPaint(hWnd,PtStr); //结束绘图 return 0; case WM_DESTROY: //结束应用程序 PostQuitMessage(0); return 0; default://其他消息处理程序 return(DefWindowProc(hWnd,iMessage,wParam,lParam)) ; } } BOOL InitWindows(HINSTANCE hInstance,int
显示全部
相似文档