VisualC面向对象与可视化程序设计.doc_第1页
VisualC面向对象与可视化程序设计.doc_第2页
VisualC面向对象与可视化程序设计.doc_第3页
VisualC面向对象与可视化程序设计.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 VisualC+面向对象与可视化程序设计实验一:绘图与文本一、实验目的1. 掌握 Windows 应用程序的基本结构;2. 使用 API 函数建立窗口、消息循环,编制窗口函数;3. 使用 API 函数在用户区绘图、输出文本,理解Windows 的图形设备接口。二、实验内容实现给定的绘图与文本操作。三、程序代码#include#includeBOOLEAN InitWindowClass(HINSTANCE hInstance,int nCmdShow); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);intAPIENTRY _tWi

2、nMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTRlpCmdLine,intnCmdShow)MSG msg;if(!InitWindowClass(hInstance,nCmdShow)MessageBox(NULL,L窗口创建失败! ,_T(创建窗口 ),NULL); return 1;while (GetMessage(&msg, NULL, 0, 0)TranslateMessage(&msg);DispatchMessage(&msg);return (int) msg.wParam;LRESULTCALLBACKWndP

3、roc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)HDC hDC;PAINTSTRUCT PtStr;HBRUSH hBrush;HPEN hPen;static long nXChar,nCaps,nYChar;short x,y;TEXTMETRIC tm;short LnCount=4;LPCWSTR poem4=L故人西辞黄鹤楼,L烟花三月下扬州,L孤帆远影碧空尽,L唯见长江天际流;switch(message)case WM_CREATE:hDC=GetDC(hWnd);GetTextMetrics(hDC,&tm);

4、nXChar=tm.tmAveCharWidth;nYChar=tm.tmHeight+tm.tmExternalLeading+nXChar;ReleaseDC(hWnd,hDC);break;case WM_PAINT:hDC = BeginPaint(hWnd, &PtStr);SetMapMode(hDC,MM_ANISOTROPIC);hPen=CreatePen(PS_SOLID,2,RGB(255,0,0);hBrush=(HBRUSH)GetStockObject(GRAY_BRUSH);hBrush=CreateSolidBrush(RGB(255,255,0);Select

5、Object(hDC,hBrush);SelectObject(hDC,hPen);MoveToEx(hDC,100,100,NULL);LineTo(hDC,200,100);MoveToEx(hDC,100,100,NULL);LineTo(hDC,150,200);MoveToEx(hDC,200,100,NULL);LineTo(hDC,150,200);Arc(hDC,110,200,190,280,150,200,150,200);MoveToEx(hDC,150,280,NULL);LineTo(hDC,110,300);MoveToEx(hDC,150,280,NULL);Li

6、neTo(hDC,190,300);MoveToEx(hDC,110,300,NULL);LineTo(hDC,110,325);MoveToEx(hDC,190,300,NULL);LineTo(hDC,190,325);MoveToEx(hDC,110,325,NULL);LineTo(hDC,190,325);RoundRect(hDC,290,160,370,200,20,20);Pie(hDC,290,200,370,280,320,200,340,200);Rectangle(hDC,290,280,370,325);for(x=0;xLnCount;x+)for(y=0;y7;y

7、+)TextOut(hDC,nXChar-(x*4*nXChar)+600,nYChar+nYChar*y+70,poemx+y,1);EndPaint(hWnd,&PtStr);DeleteObject(hPen);DeleteObject(hBrush);break;case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hWnd, message, wParam, lParam); break;return 0;BOOLEAN InitWindowClass(HINSTANCE hInstance,int

8、 nCmdShow)WNDCLASSEX wcex;HWND hWnd;TCHAR szWindowClass=L实验 1;TCHAR szTitle=L2015326602033_周俊 _实验一 ;wcex.cbSize = sizeof(WNDCLASSEX);wcex.style= 0;wcex.lpfnWndProc= WndProc;wcex.cbClsExtra= 0;wcex.cbWndExtra= 0;wcex.hInstance= hInstance;wcex.hIcon= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION

9、);wcex.hCursor= LoadCursor(NULL, IDC_ARROW);wcex.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH);wcex.lpszMenuName= NULL;wcex.lpszClassName= szWindowClass;wcex.hIconSm=LoadIcon(wcex.hInstance,MAKEINTRESOURCE(IDI_APPLICATION);if(!RegisterClassEx(&wcex)MessageBox(NULL,_T(窗口类注册失败! ),_T( 窗口注册 ),NULL); return 1;hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT, NULL,NULL, hInstance, NULL);if (!hWnd)return FALSE;ShowWindow(hWnd, nCmdShow);Updat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论