可视化:在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动。
生活随笔
收集整理的這篇文章主要介紹了
可视化:在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动。
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在窗口中顯示一個球,該球以與水平成45度夾角作直線運動,當遇到邊界時,反彈回來,仍與水平成45度角繼續(xù)運動。
#include<windows.h> #include<stdlib.h> #include<string.h>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//主函數(shù) int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) {HWND hwnd;MSG Msg;WNDCLASS wndclass;char lpszClassName[]="boll"; char lpszTitle[]="123";wndclass.style=0;wndclass.lpfnWndProc=WndProc;//定義窗口處理函數(shù)wndclass.cbClsExtra=0;//窗口類無擴展wndclass.cbWndExtra=0;//窗口實例無擴展wndclass.hInstance=hInstance;//當前實例句柄wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化圖標為缺省圖標wndclass.hCursor=LoadCursor(NULL,IDC_CROSS);wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景為白色wndclass.lpszMenuName=NULL; //窗口中無菜單wndclass.lpszClassName=lpszClassName;if( !RegisterClass( &wndclass)){ MessageBeep(0);return FALSE; }hwnd = CreateWindow( lpszClassName, lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance, NULL);ShowWindow(hwnd,nCmdShow);UpdateWindow(hwnd);while(GetMessage(&Msg,NULL,0,0)){ TranslateMessage(&Msg); DispatchMessage(&Msg);}return Msg.wParam; }LRESULT CALLBACK WndProc (HWND hwnd,UINT iMessage,UINT wParam,LONG IParam) {HDC hDC;HBRUSH hBrush;HPEN hPen;PAINTSTRUCT PtStr;RECT rect;static int x=100,y=100,xd=2,yd=2;switch(iMessage){case WM_PAINT:hDC=BeginPaint(hwnd,&PtStr);hPen=CreatePen(PS_SOLID,2,RGB(255,0,0));SelectObject(hDC,hPen);hBrush=CreateSolidBrush(RGB(255,255,0));SelectObject(hDC,hBrush);GetClientRect(hwnd,&rect);Ellipse(hDC,x-10,y-10,x+10,y+10);x+=xd;y+=yd;if(x-10<0||x+10>rect.right)xd=-xd;if(y-10<0||y+10>rect.bottom)yd=-yd;DeleteObject(hPen);DeleteObject(hBrush);EndPaint(hwnd,&PtStr);Sleep(10);InvalidateRect(hwnd,NULL,1);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;default:return DefWindowProc(hwnd,iMessage,wParam,IParam);}return 0; }總結(jié)
以上是生活随笔為你收集整理的可视化:在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python生成4位验证码_Python
- 下一篇: isinstanceof java_sc