问题标签 [propertysheet]

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 投票
1 回答
513 浏览

visual-studio-2010 - Visual Studio UserMacros(和通用属性表)语法?

我四处搜寻,但无法在 Visual Studio 属性表上找到任何体面的参考指南。你可以用它们做的大部分事情都不能通过 UI 来完成,所以我必须认为有一个参考指南可以帮助理解可用的字段、语法等。

Lunicon 对这个问题的回答非常有用,但我真的很想知道关于可以在属性表中做什么的信息来自哪里。我希望这不是很多试验和错误。;)

0 投票
1 回答
1158 浏览

visual-studio-2010 - Visual C++ 2010:在一个解决方案中包含几个项目的提升?

我在 Visual C++ 2010 解决方案的几个项目中使用了boost 库。我目前正在做的是通过设置修改每个项目的属性:

  1. Properties->Configuration Properties->C/C++->General->Additional Include Directories 包含boost目录C:\boost\boost_1_47

  2. Properties->Configuration Properties->Linker->General->Additional Library Directories 以包含 boost lib 目录C:\boost\boost_1_47\lib

现在我将我的 boost 版本升级到 1.51,我意识到我通过多次指定此信息(即每个项目一次)违反了 DRY。我想在一个地方定义提升信息。

经过研究,似乎属性表是一个很好的解决方案。我已经阅读了有关属性表继承的信息,但我看不出这有什么用,因为似乎如果您想添加一个特定于项目的包含目录,那么您将必须在该特定项目的属性中设置附加包含目录然后将覆盖定义 boost 包含目录的继承属性表。如果我对此有误,请纠正我。

所以我的下一个想法是创建一个名为 GlobalMacros.prop 的属性表并定义一个类似的用户宏$(BoostDir),然后将此属性表添加到每个项目中。然后我可以在定义包含目录和库目录时在每个项目的属性中使用宏。但是,在创建宏时,有一个选项“将此宏设置为构建环境中的环境变量”,我不确定它的作用或是否应该设置它。

总的来说,我想知道减少常见设置的重复配置定义的最佳方法是什么?

0 投票
2 回答
796 浏览

visual-studio-2010 - 如何以编程方式更改 VS2010 属性表中的设置?

我正在寻找一种方法(宏/插件/扩展)来更改特定属性表(已加载到解决方案中的每个项目中)中的值,而无需重新加载解决方案。有没有办法从宏或插件代码访问它?

谢谢!

0 投票
1 回答
2814 浏览

visual-studio - Visual Studio 2012 中外部项目的配置

我在使用 Visual Studio 2012 时遇到问题,我希望有一个解决方案。我的解决方案中有 2 个项目:1 个项目是“.exe”项目,另一个是“.lib”项目。我已经在exe项目中添加了lib项目作为参考,并且我已经确保它被安排在第一个编译。lib 项目有一堆额外的包含目录和一堆额外的依赖和链接库。lib 项目编译良好。但是,exe 应用程序不会继承任何其他包含目录或其他库目录或依赖项。我可以通过将配置复制到 exe 项目来解决这个问题,但这意味着如果我更新了 lib 依赖项,然后我需要在每个使用这个库的项目中更新它(我玩这个库用于多个项目)。这似乎应该有一个解决方案,但我似乎无法找到它。有没有人想办法让项目继承引用项目的配置,或者没有办法解决这个问题?谢谢。

0 投票
2 回答
220 浏览

winapi - 为什么属性表中的图标用这么少的颜色呈现?

我正在创建一个属性表外壳扩展,并希望有一个小图标来从标准系统选项卡中设置我的属性选项卡。不幸的是,我的图标几乎完全呈现为灰色。

原图:

在属性表选项卡中:

起初我以为这是我的问题,但后来我发现 TortoiseSVN 似乎也有同样的问题:

这在 Windows 7 和 Windows 8 中都会发生。

有谁知道为什么这些图像看起来如此静音?另外,尽管这种无色,但有人对如何使图标看起来不错有任何提示吗?

0 投票
1 回答
818 浏览

c++ - 如何设置属性表的背景颜色

如何更改属性表的背景颜色?我可以通过处理 WM_CTLCOLOR... 消息来更改实际页面的颜色,但属性表的选项卡和其他部分似乎超出了我的能力范围。

回调中可能有什么东西吗?

这是我在页面对话框中处理 WM_CTLCOLOR 消息时的样子。

在此处输入图像描述

0 投票
1 回答
197 浏览

windows - 属性表中编辑控件的奇怪之处

我有一个包含几页的属性表。大多数页面都有一个或多个编辑控件。大多数控件不是从页面对话框初始化,而是从创建属性表的对话框初始化;然而,有些是在页面对话框中初始化的,它们的行为相同。

一切开始都很好。可以在页面之间移动。所有控件都没有输入焦点。

如果单击属性表页面中的编辑控件之一建立输入焦点,则可以修改该控件。一切似乎都井然有序。

如果随后移动到不同的属性页,则该页中的第一个编辑控件将获得输入焦点,并且该控件中的所有文本都将被选中!此行为适用于所有页面,但具有只读样式的编辑控件的页面除外。之后,可以移回其他页面,并且最初没有选择任何输入焦点行为。

所有页面都处理 PSN_QUERYINITIALFOCUS 通知并通过 SetWindowLong 机制返回零。

这是预期的行为吗?

为什么最初没有给予一些控制?

我在这里的主要兴趣是以某种方式杀死选择。我尝试在 PSN_SETACTIVE 通知中使用 EM_SETSEL 终止选择,但无济于事。

MSDN 在 PSN_QUERYINITIALFOCUS 下说:“否则,返回零,焦点将转到默认控件。” 如何将控件设置为默认值?

0 投票
0 回答
73 浏览

plugins - 属性视图扩展 - PropertyContributor 和 PropertySource 不同?

我通过实现一个单独的插件来扩展属性视图,该插件在其清单中定义选项卡属性贡献者/选项卡/部分。

属性贡献者是一个活跃的工作台部件。I have managed to get a simple section in a different tab (kind of Hello World), when the active workbench part is chosen. 接下来要做的是用来自属性源的某些信息填充这些部分。但是我需要使用的属性源不在贡献者的插件项目中。我知道这些在哪里,但是属性源的插件项目没有扩展(支持)选项卡式属性视图。只有通过单击/选择属性源才能得到它们属性的基本列表视图。

所以,第一个问题是:这可能吗?将某个工作台部件定义为 propertyContributor 并同时使用来自其他插件项目的 propertySections 中的属性源的属性而不是工作台部件是否有效?

如以下链接所示,他们始终对所有扩展使用相同的贡献者 (contributorId);propertyContributor、propertyTabs 和 propertySections。

*链接: http: //www.eclipse.org/articles/Article-Tabbed-Properties/tabbed_properties_view.html

第二个问题是:我可以在选项卡式视图中获取属性源的属性,即使它们的插件没有扩展/支持选项卡式属性视图?

非常感谢!

0 投票
0 回答
99 浏览

visual-studio-2010 - 在 VStudio 中使用多个属性表

如何在 VStudio 中正确使用多个属性表?

假设我想为两个库 A 和 B 提供两个单独的 propsheets,那么我要做的是为库 A 创建表 1,在其中输入所有必需的目录路径和内容。仅此一项就可以正常工作。如果我然后为库 B 创建表 2 并从父表(在本例中为表 1)继承所有设置,则在 VStudio 中显示 lib A 的路径,并且 lib B 的 propsheet 文件仅包含空 XML 节点 - 到目前为止好的。但是,一旦我在表 2 中添加了一个新的库路径,它不仅将其保存在相应的 propsheet 文件中,还保存了从表 1 继承的值。因此,每次我将表 2 添加到新项目时,它还包括路径lib A. 我该如何防止这种情况发生?

0 投票
0 回答
159 浏览

java - 焦点丢失时,InplaceEditor 不保存属性

我有一个小 Netbeans 应用程序,它带有一个集成在 PropertySheet 中的自定义 InplaceEditor。创建编辑器时,我遵循了本教程: http: //netbeans.dzone.com/nb-custom-float-propertyeditor。我没有发布代码,因为它与教程中的基本相同。

InplaceEditor 内部有一个 JSpinner。当我通过单击向上/向下更改微调器的值时,该属性已正确保存。当我通过键盘输入数字并按回车时,它也可以正常工作。但是当我输入一个数字后没有按回车时,失去焦点时属性值会跳回旧状态。

当焦点丢失时,我需要一些机制来保存属性值(不强制用户按回车键)。我尝试将各种侦听器(例如 KeyListener、FocusListener)添加到微调器以手动更改属性,但由于某种原因这不起作用。

谢谢你的帮助。