用c语言画滚动的圆,求__C语言实现圆球滚动{高手速来}
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
點鼠標左鍵向左移動,點鼠標右鍵向右移動
#include?
LRESULT?CALLBACK?WndProc?(HWND,?UINT,?WPARAM,?LPARAM)?;
int?WINAPI?WinMain?(HINSTANCE?hInstance,?HINSTANCE?hPrevInstance,PSTR?szCmdLine,?int?iCmdShow)
{
static?TCHAR?szAppName[]?=?TEXT?("Bezier")?;
HWND?hwnd?;
MSG?msg?;
WNDCLASS?wndclass?;
wndclass.style?=?CS_HREDRAW?|?CS_VREDRAW?;
wndclass.lpfnWndProc=?WndProc?;
wndclass.cbClsExtra?=?0?;
wndclass.cbWndExtra?=?0?;
wndclass.hInstance?=?hInstance?;
wndclass.hIcon?=?LoadIcon?(NULL,?IDI_APPLICATION)?;
wndclass.hCursor?=?LoadCursor?(NULL,?IDC_ARROW)?;
wndclass.hbrBackground=?(HBRUSH)?GetStockObject?(WHITE_BRUSH)?;
wndclass.lpszMenuName=?NULL?;
wndclass.lpszClassName=?szAppName?;
if?(!RegisterClass?(&wndclass))
{
MessageBox?(NULL,?TEXT?("Program?requires?Windows?NT!"),szAppName,?MB_ICONERROR)?;
return?0?;
}
hwnd?=?CreateWindow?(szAppName,?TEXT?("Bezier?Splines"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,?CW_USEDEFAULT,
CW_USEDEFAULT,?CW_USEDEFAULT,
NULL,?NULL,?hInstance,?NULL)?;
ShowWindow?(hwnd,?iCmdShow)?;
UpdateWindow?(hwnd)?;
while?(GetMessage?(&msg,?NULL,?0,?0))
{
TranslateMessage?(&msg)?;
DispatchMessage?(&msg)?;
}
return?msg.wParam?;
}
LRESULT?CALLBACK?WndProc?(HWND?hwnd,?UINT?message,?WPARAM?wParam,?LPARAM?lParam)
{
static?POINT?apt[4]?;
HDC?hdc?;
int?cxClient,?cyClient?;
PAINTSTRUCT?ps?;
switch?(message)
{
case?WM_SIZE:
cxClient?=?LOWORD?(lParam)?;
cyClient?=?HIWORD?(lParam)?;
apt[0].x?=?cxClient?/?2?;
apt[0].y?=?cyClient-cyClient/4;
apt[1].x?=?cxClient?/?2+cxClient/7?;
apt[1].y?=?cyClient;
return?0?;
case?WM_LBUTTONDOWN:
case?WM_RBUTTONDOWN:
case?WM_MOUSEMOVE:
if(wParam?&?MK_LBUTTON?||?wParam?&?MK_RBUTTON)
{
hdc?=?GetDC?(hwnd)?;
SelectObject?(hdc,?GetStockObject?(WHITE_PEN))?;
Ellipse(hdc,apt[0].x,apt[0].y,apt[1].x,apt[1].y);
if(wParam?&?MK_LBUTTON)
{
apt[0].x-=10;
apt[1].x-=10;
}
if?(wParam?&?MK_RBUTTON)
{
apt[0].x+=10;
apt[1].x+=10;
}
SelectObject?(hdc,?GetStockObject?(BLACK_PEN))?;
Ellipse(hdc,apt[0].x,apt[0].y,apt[1].x,apt[1].y);
ReleaseDC?(hwnd,?hdc)?;
}
return?0;
case?WM_PAINT:
InvalidateRect?(hwnd,?NULL,?TRUE)?;
hdc?=?BeginPaint?(hwnd,?&ps)?;
Ellipse(hdc,apt[0].x,apt[0].y,apt[1].x,apt[1].y);
EndPaint?(hwnd,?&ps)?;
return?0?;
case?WM_DESTROY:
PostQuitMessage?(0)?;
return?0?;
}
return?DefWindowProc?(hwnd,?message,?wParam,?lParam)?;
}
總結
以上是生活随笔為你收集整理的用c语言画滚动的圆,求__C语言实现圆球滚动{高手速来}的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言歌曲评选系统报告,C语言程序设计报
- 下一篇: c语言返回一个数的任意倍数,几道基础C语