2017.6.16 创建路径层
来源:互联网 发布:秦川机床与人工智能 编辑:程序博客网 时间:2024/05/22 01:42
路径层 就是开辟一块独立的区域,将字符串圈起来,不受周围环境的影响。 下面的例子就是将之前显示的文本“机械工程”通过路径层将其保护起来,并通过画网格的方式对比出效果。
首先创建路径层,通过BeginPath()开启路径层,pDC->EndPath()关闭路径层。中间用Rectangle()画出矩形,画矩形需要知道两个点的坐标,字符串的左上角的坐标在创建字符串的时候就知道了,右下角的坐标需要通过GetTextExtent() 函数来获取,它的返回值是CSize类的对象,直接通过zx. zy 就可以得到所需坐标。
void CTEXTView::OnDraw(CDC* pDC){ CTEXTDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 /********************wjl*********************** 1.文本显示 2.路径层 就是将所选择的区域产生于整体不同的效果 *********************wjl********************/ //CString str("机械工程"); CString str; str = "机械工程"; pDC->TextOut (50,50,str); CSize sz = pDC->GetTextExtent(str); // GetTextExtent 函数 返回一个CSize 类 的 对象 str.LoadString(IDS_XIAOBEI); pDC->TextOutW(0,200,str); // 创建路径层 (用一个矩形把 “机械工程”框起来 ) pDC->BeginPath(); // 开启路径层 pDC->Rectangle(50,50,50+sz.cx,50+sz.cy); // 获取字符串的坐标 创建矩形窗口 pDC->EndPath(); // 关闭路径层 pDC->SelectClipPath(RGN_DIFF); // 路径层与窗口互操作功能
最后要通过SelectClipPath函数进行互操作,也就是要求这个路径层和周围环境达到什么效果,RGN_DIFF是剪切效果。
下面通过划线展示效果
// 在窗口中画线条 for (int i = 0; i < 300; i += 10) { pDC->MoveTo(0,i); pDC->LineTo(300,i); pDC->MoveTo(i, 0); pDC->LineTo(i, 300); }
pDC->SelectClipPath(RGN_AND); // 另一种互操作方式
阅读全文
0 0
- 2017.6.16 创建路径层
- JavaSE_io_根据路径逐层创建文件夹 (代码实现)
- 路径层
- 创建路径
- 创建路径
- 层、通道、路径
- MFC中的路径层
- 路径层的概念
- MFC中的路径层
- mfc路径层
- 创建临时图层
- 创建数据访问层
- 创建透明层
- Cocos2dx 创建屏蔽层
- EF创建Model层
- 创建业务逻辑层
- IOS创建弹出层
- CALayer创建图层
- outlook html 邮件表格边框问题
- 谁将成为下一个出局者?小众手机品牌难逃“被洗牌”的命运
- GitHub添加公钥
- jsoup爬虫项目基础用法,如何用jsoup从网上爬东西
- Android Activity之间实现数据(对象,对象集合)传递
- 2017.6.16 创建路径层
- svn
- [Freemarker] freemarker自定义指令
- POJ 2242 The Circumference of the Circle 笔记
- 要学 Python 需要怎样的基础?(找工作用)
- ibatis使用in条件
- Markdown Memo
- 快讯:中央第十三巡视组向北京大学党委反馈专项巡视情况(全文)
- FZU