資源簡介
這是一個風車程序,使用MFC編寫,是我當年的作業啊~~

代碼片段和文件信息
//#include?
#include
//#include
//#include
#include
#include
#include
#define?PI?3.1415926
long?WINAPI?WndProc(HWND?hWnd//窗口句柄
UINT?Message
UINT?wParam
LONG?Lparam);
long?lCenterX=0lCenterY=0;
double?jsd;//角速度
int?zsd?=?0;//轉速
int?n=35;//控制風車大小
int?xjd;
long?x?=-5y=0;
int?i;
HDC?hDC;
HBRUSH?hBrush;
HPEN?hPen;
//畫葉片的函數
void?yepian(double?dint?iint?jint?k)
{
hBrush=CreateSolidBrush(RGB(ijk));
????????Selectobject(hDChBrush);
????????lCenterX=(int)(n*cos(jsd+d));
????????lCenterY=(int)(n*sin(jsd+d));
????????Pie(hDC
lCenterX-nlCenterY-n
lCenterX+nlCenterY+n
2*lCenterX2*lCenterY//葉片弧線起點坐標
(int)(lCenterX+n*cos(jsd+PI+d))(int)(lCenterY+n*sin(jsd+PI+d)));//葉片弧線終點坐標
Deleteobject(hBrush);
}
int?WINAPI?WinMain(HINSTANCE?hInstance
???HINSTANCE?hPrevInstance
???LPSTR?lpCmdLine
???int?nCmdShow)
{
MSG?Message;
HWND?hWnd;
WNDCLASS?WndClass;
WndClass.cbClsExtra=0;//類無擴展
WndClass.cbWndExtra=0;//實例無擴展
WndClass.hbrBackground=(HBRUSH)(GetStockobject(WHITE_BRUSH));
WndClass.hCursor=LoadCursor(NULLIDC_ARROW);//光標
WndClass.hIcon=LoadIcon(NULLIDI_APPLICATION);//圖標
WndClass.hInstance=hInstance;//當前實例句柄
WndClass.lpfnWndProc=WndProc;//窗口處理函數
WndClass.lpszClassName=“Feng“;//窗口類名
WndClass.lpszMenuName=NULL;
WndClass.style=0;//窗口風格
if(!RegisterClass(&WndClass))
{
MessageBeep(0);
return?FALSE;
}
hWnd=CreateWindow(“Feng“
“風車“
WS_OVERLAPPEDWINDOW//風格
CW_USEDEFAULT//坐標
0
CW_USEDEFAULT
0//坐標
NULL//無父窗口
NULL//無主菜單
hInstance//創建此窗口的應用程序的當前句柄
NULL);//不使用該值
ShowWindow(hWndnCmdShow);//顯示窗口
UpdateWindow(hWnd);//繪制用戶區
while(GetMessage(&Message000))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return?Message.wParam;
}
long?WINAPI?WndProc(HWND?hWnd
UINT?iMessage
UINT?wParam
LONG?lParam)
{
PAINTSTRUCT?PtStr;
switch(iMessage)
{
case?WM_PAINT://處理繪圖消息
//獲得設備環境指針
hDC=BeginPaint(hWnd&PtStr);
SetWindowOrgEx(hDC-200-200NULL);
//開始繪制
//風車邊的顏色
hPen=CreatePen(PS_SOLID1RGB(255105180));
Selectobject(hDChPen);
//繪制風車柄
hBrush=CreateSolidBrush(RGB(155245155));
????????Selectobject(hDChBrush);
Rectangle(hDC-505400);
Deleteobject(hBrush);
//用循環使風車達到層疊的效果
for(i?=?0;?i?100;?i++){
//繪制葉片
jsd=(2*PI*zsd)/60;//角速度
yepian(025520147);//調用函數繪制第一個頁片
yepian(2*PI/31480211);//調用函數繪制第二個頁片
yepian(4*PI/32552550);//調用函數繪制第三個頁片
//繪制中心
hBrush=CreateSolidBrush(RGB(155245155));
Selectobject(hDChBrush);
Ellipse(hDC-8-888);
Deleteobject(hBrush);
zsd++;
if((n?<=?60)?&&?(n?>=?35)?){ //改變風車葉片尺寸
n++;
}else?if(n?>60){
n=35;
}
}
????????Sleep(50);
????????InvalidateRect(hWndNULL1);
????????EndPaint(hWnd&PtStr);
????????return?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3343??2009-11-11?23:18??2406070102--劉靜--風車\fengche.cpp
?????文件???????3897??2009-11-11?23:17??2406070102--劉靜--風車\風車.dsp
?????文件????????516??2009-11-11?23:17??2406070102--劉靜--風車\風車.dsw
?????文件??????41984??2009-11-11?23:19??2406070102--劉靜--風車\風車.ncb
?????文件??????53760??2009-11-11?23:19??2406070102--劉靜--風車\風車.opt
?????文件????????739??2009-11-11?23:19??2406070102--劉靜--風車\風車.plg
?????目錄??????????0??2009-11-11?23:19??2406070102--劉靜--風車
-----------?---------??----------?-----??----
???????????????104239????????????????????7
評論
共有 條評論