VC++游戏编程基础(书)<1>
来源:互联网 发布:ubuntu挂载硬盘到data 编辑:程序博客网 时间:2024/04/30 23:12
1.1
画矩形,和线
winAPI
想用7种不同样式的画笔画线,然后利用画矩形函数画出一个封闭的矩形,并用6种不同的样式的画刷填色
关键代码
全局变量:
HPEN hPen[7];//添加全局变量
HBRUSH hBru[7];//添加全局变量// current instance
int sPen[7]={PS_SOLID,PS_DASH,PS_DOT,PS_DASHDOT,PS_DASHDOTDOT,PS_NULL,PS_INSIDEFRAME};//画笔样式
int sBru[6]={HS_VERTICAL,HS_HORIZONTAL,HS_CROSS,HS_DIAGCROSS,HS_FDIAGONAL,HS_BDIAGONAL};//画刷样式
初始化部分自己填写的代码:
for(i=0;i<=6;i++)
{
hPen[i]=CreatePen(sPen[i],1,RGB(255,0,0));
if(i==6)
{
hBru[i]=CreateSolidBrush(RGB(0,255,0));
}
else
{
hBru[i]=CreateHatchBrush(sBru[i],RGB(0,255,0));
}
}
MoveWindow(hWnd,10,10,650,350,true);
画图函数:
void MyPaint(HDC hdc)
{
int i;
int x1=0;
int x2=0;
int y=0;
for (i=0;i<=6;i++)
{
y=(i+1)*30;
SelectObject(hdc,hPen[i]);
MoveToEx(hdc,30,y,NULL);
LineTo(hdc,100,y);
}
x1=120;
x2=180;
for (i=0;i<=6;i++)
{
SelectObject(hdc,hBru[i]);
Rectangle(hdc,x1,30,x2,y);
x1+=70;
x2+=70;
}
}
重绘时操作系统回调函数进行消息处理的部分
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
//RECT rt;
//GetClientRect(hWnd, &rt);
//DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
hdc=GetDC(hWnd);
MyPaint(hdc);
ReleaseDC(hWnd,hdc);
break;
- VC++游戏编程基础(书)<1>
- VC++游戏编程----基础动画显示1
- 游戏编程基础 书
- Android游戏开发十日通(1)-游戏编程基础
- DirectDraw 游戏编程基础(1)
- VC++游戏编程
- VC++游戏编程----游戏画面特效制作1
- 游戏编程基础(三)GDI游戏动画基础
- OPENGL和VC编程的基础1
- VC网络编程基础
- VC网络编程基础
- VC网络编程基础
- VC网络编程基础
- VC多线程编程基础
- VC++网络编程基础
- VC----编程基础
- TransparentBitmap-----vc小游戏游戏编程
- VC++ 游戏编程----背景动画设计
- struct sockaddr_nl 结构体 由来、含义以及使用——获取Linux路由表
- 整理用Java实现数字转化成字符串左边自动补零方法
- AS3实用技巧
- android 新版本下载 安装
- 为什么是扭扭歪歪的YII
- VC++游戏编程基础(书)<1>
- Linux驱动修炼之道-内存映射
- CentOS 6.0 最小化编译安装Apache+MySQL+PHP+Zend
- 三星云服务S Cloud亮相 与苹果iCloud为敌
- 如何做好用户体验(一) ---- 概念篇
- 详述JavaScript的内置对象
- PROPSHEETPAGE Structure
- 七夕,情无处投递
- edm邮件制作须知