透明画刷的使用
2015-11-14 23:09
288 查看
透明画刷的使用
代码部分
CRect rect;
GetClientRect(rect);
pDC ->SetMapMode(MM_ANISOTROPIC);
pDC ->SetWindowExt(rect.Width(), rect.Height());
pDC ->SetViewportExt(rect.Width(), -rect.Height());
pDC ->SetViewportOrg(rect.Width()/2, rect.Height()/2);
rect.OffsetRect(-rect.Width()/2, -rect.Height()/2);
rect.DeflateRect(100, 100);
CBrush NewBrush, *pOldBrush;
pOldBrush = (CBrush *)pDC ->SelectStockObject(NULL_BRUSH);
int r = rect.Height()/2;
CRect rect1(CPoint(-r, -r), CPoint(r, r));
pDC ->Ellipse(rect1);
pDC ->Ellipse(rect);
pDC ->Rectangle(rect);
pDC ->SelectObject(pOldBrush);
关键部分
CBrush NewBrush, *pOldBrush;
pOldBrush = (CBrush *)pDC ->SelectStockObject(NULL_BRUSH);
有个类型强制转换。
代码部分
CRect rect;
GetClientRect(rect);
pDC ->SetMapMode(MM_ANISOTROPIC);
pDC ->SetWindowExt(rect.Width(), rect.Height());
pDC ->SetViewportExt(rect.Width(), -rect.Height());
pDC ->SetViewportOrg(rect.Width()/2, rect.Height()/2);
rect.OffsetRect(-rect.Width()/2, -rect.Height()/2);
rect.DeflateRect(100, 100);
CBrush NewBrush, *pOldBrush;
pOldBrush = (CBrush *)pDC ->SelectStockObject(NULL_BRUSH);
int r = rect.Height()/2;
CRect rect1(CPoint(-r, -r), CPoint(r, r));
pDC ->Ellipse(rect1);
pDC ->Ellipse(rect);
pDC ->Rectangle(rect);
pDC ->SelectObject(pOldBrush);
关键部分
CBrush NewBrush, *pOldBrush;
pOldBrush = (CBrush *)pDC ->SelectStockObject(NULL_BRUSH);
有个类型强制转换。
相关文章推荐
- 【转】css布局居中和CSS内容居中区别和对应DIV CSS代码
- 如何给App快速搭建虚拟服务器
- LeetCode — (1)
- 投票在线监测系统开发笔记
- BC 62 (div.2) A
- 在xml中调用自己用java代码定义的View
- AJAX异步请求——练习
- 信息安全系统设计基础第十周学习总结
- LeetCode_Median of Two Sorted Arrays
- 正则表达式案例
- hdu 5563 Clarke and five-pointed star 水题
- 安装使用神器vim
- codeforces 262B Roma and Changing Signs
- html中ul元素水平排列问题
- 汇编语言学习笔记...01.基础知识
- Dimensionality Reduction Techniques for Data Visualization
- Protostuff 序列化
- 数组求差集
- html中ul元素水平排列问题
- 银行实时支付系统是怎么躲过双十一这一坎的呢?