资源简介
这是一个风车程序,使用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的TCP调试助手源码95706
- 基于mfc的多线程文件传输
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- ChartCtrl控件库(可在VS2019中使用)
- 基于STM32F103ZET6控制舵机旋转(ts90a/
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- MFC五子棋游戏
- MFC UDP编程
- MFC的异步网络通讯应用程序
- C++MFC模块讲解,黑发程序员课程整理
- 一个简单而强大的基于MFC的web server源
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- MFCaccess.rar
- VC++MFC课程设计的学生成绩管理系统
- MFC 日历控件 万年历 Calendar自绘
- CrystalDiskInfo-HDD/SSD硬盘信息,SMART信息
- MFC自定义界面HUI,高效简单,含详细
- 仿射密码-Affine cipher
- c++MFC车牌自动识别定位,只能定位和
- mfc+sql 酒店客房管理系统
- 基于图割的图像分割OpenCV+MFC实现
川公网安备 51152502000135号
评论
共有 条评论