- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC第四章PPT
第4章 GDI及windows绘图 第4章 GDI及Windows绘图 Huang Weitong BOOL InitWindowsClass(HINSTANCE hInstance); BOOL InitWindows(HINSTANCE hInstance,int nCmdShow); HWND hWndMain 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 lParam) { 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,hBrush); //选择画刷 SelectObject(hDC,hPen); //选择画笔 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(HOLLOW_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,lParam)) ; } } 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; hWndMain=hWnd; ShowWindow(hWnd,nCmdShow); //显示窗口 UpdateWindow(hWnd); return TRUE; } BOOL
文档评论(0)