【问题标题】:Distinction between BackColor and ForeColorBackColor 和 ForeColor 之间的区别
【发布时间】:2016-11-09 11:00:44
【问题描述】:

这更像是一个概念问题,而不是代码问题。使用 VBA 为形状着色时,我一直使用 ForeColor 属性作为一种习惯,但现在我很好奇 BackColor 的功能。 documentation 并没有提供太多的区别。我能看到的唯一相关信息是:

如果您在 Form 对象或 PictureBox 控件上设置 BackColor 属性,则所有文本和图形(包括永久图形)都将抹去。设置 ForeColor 属性不会影响已绘制的图形或打印输出。

这似乎并不能充分解释它们之间的区别。

我做了一些实验,在代码中以不同的顺序设置形状的后部和前部颜色以及包含的不同文本和其他项目,但我终其一生都找不到任何一致的差异。坦率地说,BackColor 属性似乎完全没用,因为ForeColor 似乎只是覆盖了任何颜色。

有没有人知道解释它们之间差异的好方法(或更好的文档来源,我可以在其中阅读差异)?

【问题讨论】:

    标签: vba excel colors powerpoint


    【解决方案1】:

    在应用 TwoColorGradient 方法时使用 BackColour。

    例如,如果您在 PowerPoint 中选择一个形状并输入以下内容:

    ?ActiveWindow.Selection.ShapeRange(1).Fill.BackColor
    

    您可能会看到返回的 16777215(白色),如果将其更改为红色,您将看不到任何变化:

    ActiveWindow.Selection.ShapeRange(1).Fill.BackColor.RGB = RGB(255,0,0)
    

    但是如果你应用渐变方法:

    ActiveWindow.Selection.ShapeRange(1).Fill.TwoColorGradient _
      msoGradientDiagonalUp, 1
    

    然后改变BackColor,你会看到改变。

    【讨论】:

    • 您,先生,是个圣人。澄清一下,TwoColorGradient 属性是 唯一 使用 BackColor 的东西,还是只是主要用途?
    • 图案填充也使用背景色。事实上,如果你给一个形状一个图案填充,你可以选择前景色和背景色。
    猜你喜欢
    • 2015-12-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 2021-12-25
    • 2020-05-10
    • 2014-09-20
    • 2010-10-28
    • 2015-10-04
    相关资源
    最近更新 更多