[WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]
Posted infoworld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]相关的知识,希望对你有一定的参考价值。
场景
WTL
界面开发时,有些情况下需要绘制虚线,比如圆角矩形的虚线,默认的破折号和点之间的空格特别小,看着比较密集,那么如何增加点线之间的空格,或者增加破折号的长度?
说明
-
使用
Gdiplus
绘制圆角矩形是比Gdi
简单,因为它提供了路径GraphicsPath
和抗锯齿模式SmoothingModeAntiAlias
. 在之前的文章[2]也说过如何绘制圆角矩形。 -
使用
GraphicsPath
也得使用Pen
对象,它设置了画线的画笔。之后设置虚线使用以下的方法:- pen.SetDashStyle(Gdiplus::DashStyleDashDot);
-
设置
Dash
相关的方法有四个:SetDashCap
:设置破折号两头的形状,比如三角形DashCapTriangle.SetDashStyle
: 设置虚线的样式,比如是破折号跟着点的样式DashStyleDashDot.SetDashPattern
: 设置一组自定义的破折号和空格的宽度。SetDashOffset
: 设置从直线开始到第一个破折线开始的距离。 </
以上是关于[WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]的主要内容,如果未能解决你的问题,请参考以下文章
[WTL/ATL]_[初级]_[关于窗口子类析构时崩溃的原因]
[WTL/ATL]_[初级]_[使用虚拟列表视图来解决新增大量数据卡顿问题]