资源简介
这是一个风车程序,使用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
相关资源
- MFC用户名密码登陆对话框
- C++实现银行储蓄系统 MFC界面
- 空间后方交会(基于MFC)
- 音频感知哈希函数的提取matlab codes
- vs2008(mfc)通过ADO连接SQL SERVER 2008源
- 用vc++ mfc 编写的一个网页浏览器
- VC++(MFC)实现FTP功能(源代码)
- wxWidget多语言移植到MFC动态库DLL
- MFC对话框动态接收数据插入List列表并
- 单片空间后方交会,求外方位元素、
- MFC实现完整GoBang五子棋
- 不断旋转、缩放和移动的正三棱锥
- 吕鑫-VS2015之C.C++.MFC等完整视频链接
- VC++ MFC 的计算器的详细设计
- MFC简易音乐播放器源码
- opengl+mfc画线填充左键单击绘包围线、
- MFC可编辑列表框控件
- MFC 多线程之间通过消息传递数据
- MFC71D.dll
- 重绘CListCtrl的scrollbarheaderctrl和items的
- mfc渐变进度条
- MFC实现K均值算法
- MFC中嵌入显示opencv图像
- MFC的CheckBox自绘类
- MFC 状态栏进度条
- vs mfc opengl配置教程
- vc++基于MFC实现多媒体播放器源码
- MFC实现的操作系统页面置换FIFO、LRU、
- VC++ 实现定时关机或休眠-MFC 对话框应
- mfc 用对话框打开并读取txt文件的小程
评论
共有 条评论