• 大小: 10KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: C/C++
  • 标签: 风车  旋转  MFC  C++  

资源简介

这是一个风车程序,使用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


评论

共有 条评论