问题标签 [systemcolors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
376 浏览

.net - 在 .NET 中获取 Windows XP 颜色

我试图在我的 .NET 应用程序中获得 Windows XP 使用的特定颜色。

在 Windows XP 中,如果您进入“类别视图”中的控制面板,在左侧您有一些“另见”选项(Windows 更新、帮助和支持、其他控制面板选项)。我想要获得的颜色是这些选项后面显示的浅蓝色背景颜色。

我不需要颜色的十六进制/RGB 值,因为它可以根据桌面上使用的样式设置而改变。

我的问题是 - 是否可以在 .NET 应用程序中以编程方式获取这种颜色?

该颜色似乎不在 SystemColors 中,尽管它与 SystemColors.InactiveCaptionText 非常相似(我想我可能会使用它)。我只是想知道是否有办法获得确切的颜色。

0 投票
1 回答
307 浏览

delphi - 从 TcxDBColorCombobox 中删除系统颜色

我有一个TcxDBColorCombobox并且我希望下拉列表不包括像 clBtnFace 这样的系统颜色所以它只包括像clRed这样的颜色。此外,我希望它包含clWindowclWindowText,但如有必要,我可以将它们添加为自定义颜色。该过程应该与TcxColorCombobox相同。我相信我最终会弄清楚的,但我想我会看看其他人是否有经验。

0 投票
1 回答
640 浏览

.net - .NET:如何在窗口最大化时获取 ActiveCaptionText 颜色?

最大化窗口时如何获得ActiveCaptionText颜色?

恢复窗口时颜色正确:

替代文字

但是当窗口最大化时颜色是错误的:

替代文字

你如何获得活动的 ActionCaptionText

注意:对于ActiveCaptionInactiveCaptionInactiveCaptionText的问题相同。


似乎应该有一些东西:

但我不能让它工作。它为CaptionMaxCaption返回黑色:

替代文字


参考

0 投票
3 回答
5139 浏览

.net - 更改单个应用程序的系统颜色(Windows、.NET)

我知道我通常应该避免弄乱这样的系统设置,但是我的应用程序确实已经使用了非标准颜色,我对此没有影响。我希望能够在某些地方添加标准的 .NET 控件,但它们的颜色不匹配。我想要一个 hack 来替换这个应用程序的系统颜色。需要注意的另一件重要的事情是它是一个 .NET 应用程序。

到目前为止,我的(不完整的)想法是:

  • 用替换的 GetSysColor 创建一个代理 User32.dll 库,但这会非常繁琐(要重定向 731 个函数,要替换 1 个函数),而且我不知道如何强制我的应用程序使用该特定副本。
  • 以某种方式拦截对 GetSysColors 的调用(不幸的是,我认为它位于 CLR 中的某个位置)。
  • 以某种方式修改 .NET 类 SystemColors(在内存中?可能吗?)。

你有什么想法,实现这一目标的最佳(和完整)方法是什么?

0 投票
2 回答
365 浏览

windows - 匹配windows系统颜色:暗亮

我试图让我的应用程序成为一个好的 Windows 公民,所以我尽可能使用匹配的系统颜色(请参阅“选择系统颜色时,匹配但不要混合”)。但是,有时深色背景上的浅色文本(例如 COLOR_APPWORKSPACE/clAppWorkSpace)似乎最合适,但系统不提供此功能。您对此有什么建议吗?

0 投票
1 回答
480 浏览

windows - 匹配 COLOR_GRAYTEXT 的背景颜色

(与“匹配 Windows 系统颜色:暗亮”相关的问题。)

COLOR_GRAYTEXT 似乎没有“官方”背景颜色。这对我来说看起来很奇怪。你知道任何?

0 投票
1 回答
2238 浏览

wpf - ComponentResourceKey as DynamicResource 问题

我看到一些使用 ComponentResourceKey 的意外行为。出现问题是因为我使用了 SystemColors 类中使用的名称。

考虑以下代码:

首先,我将 a 中的 ComponentResourceKey 作为静态属性公开:

使用标记中的键将资源分配给该键是可行的。使用 ComponentResourceKey 标记将该资源作为 DynamicResource 调用是可行的。但是使用静态属性调用相同的资源会解析为 SystemColors.ControlColorKey 资源。

这是xaml:

显示窗口时,“详细”按钮会正确显示蓝色背景。但下方的“静态”按钮显示 SystemColors.ControlColorKey 颜色。

将静态属性的名称更改为另一个名称会使两个画笔都解析为正确的颜色。

但是我不确定为什么 DynamicResource 对键的静态实例和标记实例化的解析不同?

谢谢,

ķ

PS:这里是 ResourceDictionarySource 的相关跟踪输出

0 投票
2 回答
1028 浏览

winforms - 是否可以在 Windows 窗体应用程序中使用主题颜色?

在设计 Windows 窗体应用程序时,我通常会尽可能使用系统颜色,以使其符合用户的偏好。但是可以使用主题颜色吗?

我意识到这会在几个方面限制你(必须运行支持它运行主题服务的 Windows),所以如果它可以恢复到其他默认值,我当然会喜欢它,但因为我相当确定 99%我的用户有它可用,如果可能的话,我想利用它。

具体来说,对于较新的 Windows 版本(Vista 和 7),超链接之类的东西具有更柔和、更柔和的蓝色。旧的系统颜色没有为链接等定义任何内容,并且通常在选择和多样性方面受到更多限制(来自 95 天)。

虽然 WPF 可能有更好的支持,但我不能随意使用它。如果某些第三方实用程序、程序集等是必要的,那么它也需要可以免费使用。我不需要任何花哨的东西,但在一个完美的世界里,我可以做这样的事情:

我是否只使用默认的蓝色 (0,0,255) 并让它们在 Vista 及更高版本中看起来不合适?如果需要,我什至会满足于丑陋的 p/invoke 互操作方法......

0 投票
3 回答
4037 浏览

.net - 是否有 System.Windows.SystemColors 的视觉指南?

在整个Windows UX 指南中,建议在应用程序中使用适当的SystemColors,以确保应用程序的默认主题与系统的其余部分保持一致。我完全同意; 唯一的问题是似乎没有关于 SystemColors 类型中的命名值如何映射到典型用户界面的实际公共部分的指南。相反,我们被赋予像 Caption 这样的名称,并希望了解将适用于哪些控件。

开发人员是否可以在任何地方找到一套体面的视觉指南,以了解 SystemColors 中的值如何映射到通用用户界面?

作为我正在寻找的示例,在 Windows UX 指南中,在用户界面文本部分下有一个主要指令的概念,在最新的默认 Windows 主题中,它通常看起来像深蓝色。这是什么 SystemColor,以便我可以让自己的“主要说明”标签使用相同的颜色?

0 投票
1 回答
1961 浏览

c# - 我可以在不使用 pinvoke 的情况下在 C# 中获取系统颜色的 RGB 吗?

我想确定系统颜色的 RGB 颜色,例如 SystemColors.HotTrack。

有没有办法在不使用 P/Invoke 和 GetSysColor(不包括绘制位图和检查像素值)的情况下做到这一点?