[WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]

Posted infoworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]相关的知识,希望对你有一定的参考价值。

场景

  1. WTL界面开发时,有些情况下需要绘制虚线,比如圆角矩形的虚线,默认的破折号和点之间的空格特别小,看着比较密集,那么如何增加点线之间的空格,或者增加破折号的长度?

说明

  1. 使用Gdiplus绘制圆角矩形是比Gdi简单,因为它提供了路径GraphicsPath和抗锯齿模式SmoothingModeAntiAlias. 在之前的文章[2]也说过如何绘制圆角矩形。

  2. 使用GraphicsPath也得使用Pen对象,它设置了画线的画笔。之后设置虚线使用以下的方法:

    • pen.SetDashStyle(Gdiplus::DashStyleDashDot);
  3. 设置Dash相关的方法有四个:

    • SetDashCap :设置破折号两头的形状,比如三角形DashCapTriangle.
    • SetDashStyle : 设置虚线的样式,比如是破折号跟着点的样式DashStyleDashDot.
    • SetDashPattern : 设置一组自定义的破折号和空格的宽度。
    • SetDashOffset : 设置从直线开始到第一个破折线开始的距离。
    • </

以上是关于[WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]的主要内容,如果未能解决你的问题,请参考以下文章

[WTL/ATL]_[中级]_[自定义TrackBar]

[WTL/ATL]_[中级]_[自定义TrackBar]

[WTL/ATL]_[初级]_[关于窗口子类析构时崩溃的原因]

[WTL/ATL]_[初级]_[使用虚拟列表视图来解决新增大量数据卡顿问题]

[WTL/ATL]_[初级]_[使用虚拟列表视图来解决新增大量数据卡顿问题]

[WTL/ATL]_[初级]_[关于窗口子类析构时崩溃的原因]