| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5335 人关注过本帖
标题:[原创]vc++程序-旋转的风车
只看楼主 加入收藏
tyc1920
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-10-27
收藏
 问题点数:0 回复次数:13 
[原创]vc++程序-旋转的风车
*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国 http://www.bc-cn.net
*/ 作者: tyc1920 E-mail:tyc.1920@yahoo.com.cn QQ:609670447
*/ 时间: 2007-10-27 编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------

做了个小程序,供大家参考
搜索更多相关主题的帖子: 风车 tyc 中国 
2007-10-27 21:04
tyc1920
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-10-27
收藏
得分:0 

//源程序如下
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define PI 3.1415926

int nNum=0,nMaxNum=20;

LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)

{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WindowProc;
wndclass.lpszClassName="abc";
wndclass.lpszMenuName=NULL;
wndclass.style=0;

RegisterClass(&wndclass);

hwnd=CreateWindow("abc","旋转的风车",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,600,450,NULL,NULL,hInstance,NULL);

ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);

while(GetMessage(&Msg,hwnd,NULL,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return 0;
}

LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
HDC hdc;
HBRUSH hBrush;
HPEN hp;
PAINTSTRUCT ps;
int nCenterX,nCenterY;
double fAngle;

switch(uMsg)
{
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
SetMapMode(hdc,MM_ANISOTROPIC);
SetWindowExtEx(hdc,400,300,NULL);
SetViewportExtEx(hdc,600,450,NULL);
SetViewportOrgEx(hdc,300,200,NULL);

// 绘制外圆
hp=CreatePen(PS_SOLID,1,RGB(255,0,255));
SelectObject(hdc,hp);
Ellipse(hdc,-100,-100,100,100);

// 绘制风车的叶片
// 绘制红色的叶片
hBrush=CreateSolidBrush(RGB(255,0,0));
SelectObject(hdc,hBrush);
fAngle=2*PI/nMaxNum*nNum;
nCenterX=(int)(50*cos(fAngle));
nCenterY=(int)(50*sin(fAngle));
Pie(hdc,nCenterX-50,nCenterY-50,nCenterX+50,nCenterY+50,(int)(nCenterX+50*cos(fAngle)),(int)(nCenterY+50*sin(fAngle)),(int)(nCenterX+50*cos(fAngle+PI)),(int)(nCenterY+50*sin(fAngle+PI)));

// 绘制蓝色的叶片
hBrush=CreateSolidBrush(RGB(255,255,0));
SelectObject(hdc,hBrush);
nCenterX=(int)(50*cos(fAngle+2*PI/3));
nCenterY=(int)(50*sin(fAngle+2*PI/3));
Pie(hdc,nCenterX-50,nCenterY-50,nCenterX+50,nCenterY+50,(int)(nCenterX+50*cos(fAngle+2*PI/3)),(int)(nCenterY+50*sin(fAngle+2*PI/3)),(int)(nCenterX+50*cos(fAngle+PI+2*PI/3)),(int)(nCenterY+50*sin(fAngle+PI+2*PI/3)));

// 绘制黄色的叶片
hBrush=CreateSolidBrush(RGB(0,255,255));
SelectObject(hdc,hBrush);
nCenterX=(int)(50*cos(fAngle+4*PI/3));
nCenterY=(int)(50*sin(fAngle+4*PI/3));
Pie(hdc,nCenterX-50,nCenterY-50,nCenterX+50,nCenterY+50,(int)(nCenterX+50*cos(fAngle+4*PI/3)),(int)(nCenterY+50*sin(fAngle+4*PI/3)),(int)(nCenterX+50*cos(fAngle+PI+4*PI/3)),(int)(nCenterY+50*sin(fAngle+PI+4*PI/3)));

nNum++;
Sleep(100);
InvalidateRect(hwnd,NULL,1);
EndPaint(hwnd,&ps);

return 0;
case WM_CLOSE:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}

2007-10-27 21:06
爱情密码
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-10
收藏
得分:0 
编译提示2个错误:
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Cpp1.exe - 2 error(s), 0 warning(s)

楼主可以解释一下吗

2007-11-23 19:09
appleshu
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-11-21
收藏
得分:0 
可以编译成功吗  ?
楼主为什么不把运行结果展示下呢?
2007-11-27 13:09
诣飞
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-11-27
收藏
得分:0 
LZ可能没试 。。9直接发来了吧。。
 看来LZ太大意了
2007-11-27 16:27
tyc1920
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-10-27
收藏
得分:0 
可以运行的啊!没有错误没有警告,可能是你们新建工程的时候搞错了,
 新建  Win32 Application 工程,在新建 C++Source File 再写入上面的源代码就OK了,
2007-11-28 13:21
爱情密码
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-10
收藏
得分:0 
问题解决

[[italic] 本帖最后由 爱情密码 于 2007-11-29 16:19 编辑 [/italic]]

2007-11-28 18:55
独狐箭
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-12-5
收藏
得分:0 
还可以啊,入门了
2007-12-06 13:26
编无止境
Rank: 1
来 自:四川
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-12-12
收藏
得分:0 
看不太懂。。。。。。。。。。。。。。
     看来只有努力学习了。

想拥抱,就别握住拳头。
2007-12-12 14:26
yatoupianziuu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-12-12
收藏
得分:0 
回复 1# 的帖子
免费电影[url]http://www.[/url]
2007-12-13 12:59
快速回复:[原创]vc++程序-旋转的风车
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016014 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved