VC++面向对象与可视化程序设计 04 GUI - 图文

1… Polyline(hDC,points,6); 2…3…4…5…6…7…

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); DeleteObject(hPen); //删除画笔DeleteObject(hBrush); //删除画刷

//画一个五边形//画一个圆//画一个圆饼//画一个长方形

RoundRect(hDC,213,100,287,137,20,20); //画一个圆角长方形

8…EndPaint(hWnd,&PtStr); //结束绘图9…return 0;

10…case WM_DESTROY: //结束应用程序11…PostQuitMessage(0);12…return 0;

13…default://其他消息处理程序

14…return(DefWindowProc(hWnd,iMessage,wParam,lParam)) ;}}

BOOL InitWindows(HINSTANCE hInstance,int nCmdShow) //初始化窗口{HWND hWnd;

hWnd=CreateWindow(\//生成窗口

\填充示例程序\

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(NULL,IDC_ARROW);WndClass.hIcon=LoadIcon(NULL,\WndClass.hInstance=hInstance;WndClass.lpfnWndProc=WndProc;WndClass.lpszClassName=\WndClass.lpszMenuName=NULL;

WndClass.style=CS_HREDRAW|CS_VREDRAW;return RegisterClass(&WndClass);}

【例4-3】设置映射与使用映射模式。程序的初始阶段按模式MM_TEXT绘图,用户单击鼠标以改变映射模式,单击左键,产生WM_LBUTTONDOWN消息,通知应用程序设置映射模式为ISOTROPIC,并调用InvalidateRect函数刷新用户区,在用户单击鼠标右键时,产生WM_RBUTTONDOWN消息,应用程序将映射模式设置成ANSIOTROPIC,同时刷新用户区。

联系客服:779662525#qq.com(#替换为@)