VC++游戏编程基础(书)<1>

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;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值