《孙鑫VC视频教程》04绘图-学习总结2

知识点1:学习了绘图相关的类:

画笔类:CPen::Cpen

CPen();

CPen( int nPenStyle, int nWidth, COLORREF crColor );

nPenStyle:线型,包括直线、点线、虚线等;

nWidth:线宽,即线的宽度;

crColor:线的颜色;

颜色相关的宏定义
COLORREF RGB(
  BYTE byRed,    // red component of color
  BYTE byGreen,  // green component of color
  BYTE byBlue    // blue component of color
);

 

画刷类:CBrush::CBrush

有4种重载的构造函数

CBrush();

无参数构造函数,使用前必须初始化;

CBrush( COLORREF crColor );
throw( CResourceException );

带“画刷颜色”形参构造的画刷;

 

CBrush( int nIndex, COLORREF crColor );
throw( CResourceException );

nIndex:hatch style

带类型和颜色2个形参的构造函数;

 

CBrush( CBitmap* pBitmap );
throw( CResourceException );

位图作为形参的构造函数;

 

知识点2.学习了如何新建一个位图;

 

知识点3.矩形框的透明画刷填充实现:

利用平台SDK的Windows GDI函数

GetStockObject

The GetStockObject function retrieves a handle to one of the stock pens, brushes, fonts, or palettes.

HGDIOBJ GetStockObject(
  int fnObject   // stock object type
);

来获取透明画刷,方式为  GetStockObject(NULL_BRUSH);

 

知识点4.类的静态成员函数和静态数据成员的学习

以下语句利用了CBrush的静态成员函数FromHandle

 CBrush *brush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));

注意要点:

a.类的静态成员函数和静态数据成员在程序的编译阶段已经分配了内存空间,静态成员只属于类,并不是属于某一个对象;

b.类的静态成员函数只能访问静态数据成员,不能访问非静态成员函数和非静态数据成员;

c.类的非静态成员函数可以访问静态成员函数;

d.类的静态数据成员必须初始化;

 

知识点5.练习绘图功能,绘画连续的线、绘画扇形;

 

 

 

 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值