问题标签 [user-preferences]

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 投票
3 回答
9425 浏览

delphi - Windows 功能区框架:如何更改字体和大小?

如何更改Windows Ribbon Framwork的 UIRibbon 使用的字体和字体大小?

功能区使用的字体与用户选择作为其 Windows 首选项的字体不匹配 - 这是我的应用程序使用的首选项。这意味着随着 Windows 中的字体变大,功能区会变小。

注意功能区如何在每个屏幕截图中变小:

Segoe UI 9pt(Windows 默认)

替代文字

Segoe UI 12pt(我用的)

替代文字

Segoe UI 16pt(客户用什么)

替代文字

你可以看到,当我们达到 16pt 时,功能区上的文字很难阅读。

背景

用户可以配置 Windows 以使用他们喜欢的字体大小,例如:

  • 8点
  • 9点
  • 12点

以及他们喜欢的字体,例如:

  • MS 无衬线字体
  • 微软无衬线字体
  • 塔霍马
  • 世高用户界面
  • 口径

但默认情况下, Windows Ribbon Framework使用用户偏好的字体。

编辑:将图片移到顶部以捕捉被闪亮的东西吸引的松鼠。
编辑2:添加了另一张彩色图片,以获得凹凸。
编辑3:编辑以获得凹凸
编辑4:添加另一张不同的图片以获得凹凸


功能区确实允许自定义功能区的颜色

以下代码片段用于设置UI_PKEY_GlobalBackgroundColor功能区的。在这种情况下,我使用用户当前选择的 Aero 配色方案的颜色:

现在功能区的颜色与 Windows 的配色方案相匹配:

替代文字

但我找不到更改字体/大小的选项。

注意:虽然功能区可能会尊重用户的 DPI 设置,但这不是这个问题。


它适用于 Outlook 2010

注意 Outlook 2010 的功能区确实尊重用户的(菜单)字体首选项,这可能会有所帮助。您可以通过调用获取用户的菜单字体[SystemParametersInfo][6]

2010 年 9 点展望

替代文字

2010 年 12 点展望

替代文字

2010 年 12 点展望

替代文字

注意到功能区的大小随着字体大小而增加?(在这些调整大小的屏幕截图中,这意味着功能区不会在感知上变小。)

有两种可能:

  • Outlook 2010 知道如何在 Windows 功能区框架中调整字体大小
  • Outlook 2010 不使用 Windows 功能区框架

Windows 7 画图不起作用

还需要注意的是,Windows 7 中的 Windows Paint 不支持用户的字体首选项。这让我相信它(mspaint)确实使用了 Windows Ribbon Framework,并且 Windows Ribbon Framework 不支持设置字体大小。如果你真的试图提供帮助,并一直阅读到这里,你会意识到这是正确的答案:这是不可能的。因此,如果您想要一个免费的 300 代表,您可以将其添加为答案。

编辑: 交叉发布到微软

关键词: Windows Ribbon Framework,更改字体大小,UIRibbon,字体,功能区 ui,风景 ui,风景区功能区,流利的功能区,流利的 ui,更改字体窗口功能区,uiribbon.h

Microsoft 有许多功能区实现:


MS Paint 不支持菜单字体偏好

这是一个屏幕截图,显示了我配置的 Windows 7菜单字体设置为 12pt,msPaint 可见,Outlook 2010 可见以进行比较。

替代文字


示例代码

Windows 功能区框架 14pt != 14pt

这是配置为 14pt(在 96dpi 机器上)的Windows菜单字体的屏幕截图。Outlook 2010 是 14pt,Photoshop CS3 是 14pt。丝带……少了。

替代文字

也可以看看

0 投票
3 回答
145 浏览

design-patterns - 关于如何保持网站偏好的不同选择?

我正在更新我们的 CMS,我遇到了一种情况,我不知道该采用哪种解决方案。基本上,我们的每个客户都将他们网站的内容保存在他们自己的数据库中。这包括内容、调查、访问者使用的搜索词、菜单结构等。

我们客户网站上的很多内容都是动态的,他们可以通过 CMS 进行更改。所有这些数据都保存在我设计的关系数据库中,但我在一些情况下运行,将这些首选项保存在表中会有点过分。

例如,CMS 允许他们向收件人列表发送电子邮件。他们可以选择使用我们的服务器,也可以安装自己的 smtp 服务器。但是,在这种情况下,创建一个包含“mailService”列的表并让它保存特定值会有点矫枉过正,因为该表只能保存一行。

以下是我通过在此网站和/或谷歌上搜索后得出的一些想法,但我不太确定它们的优缺点是什么:

  • 基本上像我上面提到的那样将所有偏好保存在一个表格中,这是我想避免的。
  • 将所有这些“单一”首选项保存在一个 XML 文件中,当他们更改设置时我会对其进行修改。
  • 有一个名为 preferences 的表,其中包含以下列:id、preferenceName、value。每次我有一个新的偏好时,我都会添加、修改或删除它(我不喜欢这个选项,因为我觉得我必须硬编码太多的值......至少从方式我正在看到实施)

我有点倾向于 XML 的想法,但我想从 Stackoverflow 的优秀社区那里得到一些反馈:) 也许使用 XML 是一个可怕的想法,原因是我完全忽略了,或者有一个笨蛋- 你为什么不做这个解决方案。感谢您的任何意见!

0 投票
1 回答
636 浏览

java - 在 Java/SWT 中保存窗口的状态

我正在尝试使用 Java 和 SWT 为 GUI 构建一个小型应用程序。我正在寻找一种将用户设置的首选项存储在某个文件中的方法,我的意思是,如果调整了窗口大小,那么应该保存新的大小以供下次应用程序启动时使用。文本框等一些控件也是如此。

我想出了两个想法来解决这个问题:

  • 使用经典的手工 .ini 文件来存储这些首选项。但它看起来很丑陋且难以维护。
  • 包含 GUI 的整个类的序列化/反序列化。不知道这是否可能。

有任何想法吗?我应该怎么办?

提前致谢。

添加:

我不是在做一个 Eclipse RCP 项目,它只是一个普通的SWT 应用程序。

更多: 我已经尝试过序列化,但 SWT 小部件不支持它,所以我发现的唯一其他选择是创建另一个类,比如 Configuration,将其标记为可序列化并保存我的小部件的值。几乎就像使用 java.util.prefs.Preferences 一样,但没有那么简单。

我还在等着看是否有另一种方法可以做到这一点,也许涉及一些绑定。

0 投票
2 回答
195 浏览

cocoa - 单个mac帐户上的可可多个用户首选项?

我目前正处于调度和数据跟踪软件的规划阶段。我想让主要用户向程序添加受密码保护的配置文件,以便不同的人可以使用该程序访问不同的数据集和不同的功能。我想添加的内容之一是能够更改您自己的个人资料登录页面的布局和颜色。那么是否可以在单个 mac 用户帐户上拥有多组首选项?我需要将它放在一个 mac 帐户上,因为这将是一个面向家庭的程序,并且一些创建的配置文件将适用于可能没有自己帐户的孩子。

谢谢。

已解决:我想我可能已经想出了如何做到这一点。如果有人想查看我的解决方案,我已将文件上传到:http ://www.mediafire.com/file/vp7k2ybygcs63cf/PrefGenTest.zip

如果您密切关注控制台和程序的属性 plist,您将看到结果。

0 投票
3 回答
7683 浏览

winapi - Vista/7:如何获得玻璃颜色?

你怎么用DwmGetColorizationColor

文档说它返回两个值:

  • 0xAARRGGBB包含用于玻璃成分的颜色的 32 位
  • 一个布尔参数,“如果颜色是不透明的混合”,则为真(无论这意味着什么

这是我喜欢的颜色,漂亮的呕吐绿色: 替代文字

你可以注意到颜色是绿色的,半透明的标题栏(白色背景)非常清楚地显示鼻涕颜色: 在此处输入图像描述

我尝试从 Windows 获取颜色:

我得到

根据文档,此值的格式为AARRGGBB,因此包含:

据推测,这意味着颜色为 (10, 15, 4),不透明度约为 5.1%。

但如果你真的看这个 RGB 值,它与我想要的鼻涕绿色相去甚远。这是

  • (10, 15, 4) 不透明度为零(原始颜色),以及
  • (10,15,4),白色/棋盘背景不透明度为 5%:

替代文字

不是Lime绿色,而是DwmGetColorizationColor返回几乎完全透明的黑色

所以问题是:如何在 Windows Vista/7 中获得玻璃颜色?

我尝试使用DwmGetColorizationColor,但效果不是很好。


一个有同样问题的人,但是一张更好的闪亮图片来吸引你的松鼠: 替代文字

因此,它归结为 - DwmGetColorizationColor 对于试图将当前颜色应用到不透明表面的应用程序完全不可用。


我比我更喜欢这家伙的截图。以他的截图为模板,我又制作了一些闪闪发光的东西:

替代文字

替代文字

替代文字

替代文字

替代文字

替代文字

对于最后两个屏幕截图,alpha 混合芯片是真正的部分透明 PNG,与浏览器的背景混合。凉爽的!(我真是个极客)

编辑 2:必须以彩虹色排列它们。(我真是个极客)

编辑 3:现在我当然要添加黄色。


未记录/不受支持/脆弱的解决方法

在入口点 137 处有一个未记录的导出DwmApi.dll,我们称之为DwmGetColorizationParameters

我们对第一个参数感兴趣:ColorizationColor.

我们还可以从注册表中读取值:

因此,您选择创建 appcompat 问题的毒药。你可以

也可以看看


一年多来,我一直想问这个问题。我一直都知道这是不可能回答的,而让任何人真正关注的唯一方法就是拥有彩色截图;开发人员被闪亮的东西所吸引。但不利的一面是,这意味着我必须投入各种工作来制作诱饵。

0 投票
1 回答
144 浏览

email - 安排电子邮件通知

我正在尝试找出一个基于用户偏好发送电子邮件通知的好解决方案。用户可以设置通知来

  • 每次事件发生
  • 每小时一次
  • 一天一次
  • 每星期一次

最好的方法是设置一个 crontab,每分钟运行一个 .php,检查是否需要发送任何内容?有没有另一种方式/更有效的方式来安排这样的事情?

0 投票
1 回答
380 浏览

c# - 您如何处理用户偏好?

像大多数软件一样,用户可以指定他们希望如何处理某些事情。就我而言,用户可以指定他们喜欢的格式。有 3 个选项,不格式化,驼峰式大小写或正确大小写。我目前正在使用它,但感觉非常笨重和重复。这是该课程的摘要。

该方法本身并不觉得笨拙。这是它被称为的方式。每次我想获取格式化文本时总是必须传递用户偏好似乎不是最好的方法。制作一个常规类并通过构造函数传递应用程序首选项对象会更好吗?

谢谢你。

0 投票
2 回答
858 浏览

android - 重新提示选择默认活动

有没有办法重新提示用户为意图选择默认活动?例如,用户选择了他的默认家庭 apk,我希望他再次重新考虑他的选择。

我知道如何在 2.1 和之前的版本中做到这一点,但是现在有没有办法在 2.2 上做到这一点?

由于谷歌团队,做了类似事情的 Famous Home Switcher 不再适用于 2.2

0 投票
1 回答
1377 浏览

preferences - 从 xml 首选项布局中提取首选项

好的,所以我已经为此工作了一段时间,我知道这比我制作它要容易,但我想要做的是我有我的 xml 偏好布局或任何你想称之为的布局,在那个布局上我有几个复选框一个列表视图项和一个编辑文本,我需要做的是从 xml 布局中获取这些首选项,然后我需要将它们存储并在另一个活动中读取它们。我已经对这些进行了一些工作,但是我总是有一个存储字符串的活动,然后我在我需要偏好的活动中扩展了该活动。我知道互联网上有数百个这样的教程,但我只是不明白如何实现它们。到目前为止,这是我的代码。

这是我的 XML 文件

根据我在网上看到的情况,我可能需要创建一个 onPrefernceChangeListener()?我真的很茫然,我知道它很简单,我只是不明白当用户更改它们时如何从 xml 中提取首选项然后保存它们,以便我的人员活动可以读取它们并进行相应调整。如果知道自己在做什么的人可以为我指明正确的方向,那就太好了。

0 投票
2 回答
702 浏览

javascript - 使用 SQL 和 JavaScript 的用户首选项

我正在使用服务器端 JavaScript - 是的,我实际上正在使用服务器端 JavaScript。为了使事情更加复杂,我使用 Oracle 作为后端数据库 (10g)。通过一些疯狂的 XSLT 和类似突变的 HTML 生成,我可以构建非常精美的 Web 表单 - 是的,我知道 Rails 和其他类似的框架,我选择了恐怖的道路。我没有 JQuery 或其他花哨的框架可供我使用,只有普通的 JavaScript 应该由名为 Mozilla Rhino 的底层引擎支持。是的,这很疯狂,我喜欢它。

所以,我有一堆表可供我使用,其中一些表充满了链接到值的关联键。由于我是一个讨人喜欢的人,我想添加一些漂亮的用户偏好驱动解决方案。

我的用户都有一个唯一的 user_id,并且这个 user_id 在整个会话期间都可用。

我最初的想法是有一个用户偏好表,其中有“三”列:user_id、feature 和 pref_string。使用分隔符,例如 : 或 - (还没有想到合适的分隔符),我可以将一堆首选项存储为一个列表,并使用 .split-method 将其元素存储在一个数组中(类似于 PHP - 爆炸功能)。功能列可能像表名或我想链接首选项的“功能”的某些标识符。我讨厌硬编码对象,特别是因为我希望能够备份这些对象并在应用程序范围内重用此功能。当然,我会喜欢更好的想法,但请记住,我不能轻易地添加一个库。

这些首选项可能就像“加入”到表中一样,所以我可以查询它并使用它的值。

我希望它听起来不会太复杂,因为嗯..它基本上是我需要的非常简单的东西。

谢谢!

编辑

假设我想填写一个下拉框,目前有 10 个动态值。我会使用一个简单的 select 语句从数据库中获取这些:

它将返回如下表:

我会在下拉框中输入这个。但是,如果我愿意将首选项添加到该表中,例如 user_id 100 只会看到哺乳动物(狗、猫),而 user_id 200 只会看到海洋生物(鱼)。现在想象一下这张桌子上有世界上所有的生物,我有很多需要这种偏好的桌子。

由于我可以拥有无​​限的用户,我将不得不应用某种形式的元数据。做到这一点的解决方案,是我正在寻找的。