CorelDraw VBA填充颜色

时间:2019-03-04 15:15:38

标签: vba colors fill coreldraw

任何人都有一个想法如何从自定义填充图案中获得背景和线条颜色?

以下代码使用文本框中的数据填充选定的形状

      ActiveSelectionRange.ApplyCustomHatchFill ANG.value, LS.value, 0, 0, 0, LT.value, CreateRGBColor(255, 0, 0), BackColor:=CreateRGBColor(255, 255, 255)

这很好用,我也有一个颜色选择器,可以改变线条和背景的颜色,但是如果改变线条的大小,颜色会变回上面代码中指定的颜色

我需要获取的是所选形状中线条的当前颜色和背景色,以便在保留设置颜色的同时更改线条粗度

我觉得这与GET patternfill.backcolor有关,但我找不到有关其用法的任何示例

感谢您的帮助

标记

更新

好的,我发现以下内容将背景色转换为字符串

value = s.Fill.Hatch.BackColor.ToString

然后我可以拆分并获取值

但是似乎没有获得线条颜色(前景色)的选项

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

舱口填充

形状的填充图案是HatchFill对象。它有一个BackColor和一个或多个Patterns()
每个模式都有一个Outline(指定模式中的行),该行具有Color,可以被e读取。 G。 ToString或其他methods来读取颜色。

如果要更改图案填充线的其他属性,请查看Outline here

的所有属性和方法

一些例子:

s.Fill.Hatch.BackColor                  ' background color
s.Fill.Hatch.Patterns(1).Outline.Color  ' line color of first pattern
s.Fill.Hatch.Patterns(1).Outline.Width  ' line width of first pattern

您还可以检查背景是否确实不透明:Fill.Hatch.HasBackground

图案填充

以防万一:图案填充更简单,只有两种颜色:

s.Fill.Pattern.FrontColor
s.Fill.Pattern.BackColor