问题标签 [visual-styles]

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 回答
1289 浏览

c# - 如何使用视觉样式绘制任务栏按钮?

我创建了一个 DeskBand 工具栏,我想在工具栏上显示一个按钮,该按钮具有作为任务栏按钮的样式视觉样式。

在 .NET 中,您可以使用 VisualStyleRenderer 来呈现任务栏背景,但也可以使用呈现按钮的方法。

是否有任何 Win32 API 可以用来使用视觉样式绘制按钮,而不是通过绘制路径或图像来模拟按钮的外观?

0 投票
2 回答
2034 浏览

c# - 为类库启用视觉样式

当我的项目是类库并且它被加载到没有设置 Application.EnableVisualStyles() 的程序中时,如何启用视觉样式。我已经为此苦苦挣扎了 2 天。这是在 C# 中的(我已经看到了一些旧 C++ 的示例和一些可能适用于 VB 的东西,但是对于 C# 没有任何明确的规定,甚至如果可能的话)。

在创建任何控件之前,我曾尝试从我的类库中运行 Application.EnableVisualStyles(),但似乎需要在 Application.Run() 完成之前完成,并且我无法控制 Application.Run( ) 被调用,因为这将作为插件(VMware 的虚拟基础架构客户端)进入第 3 方应用程序。


我试图创建一个清单文件,在编译类库后,我在清单文件中链接到我的 ProgressBar.dll: mt.exe -manifest ProgressBar.dll.manifest -outputresource:ProgressBar.dll;2

除了这不起作用。如果我创建了一个使用我的 ProgressBar 类库的虚拟应用程序并将清单链接到该应用程序的 exe,那么就会出现视觉样式(基本上它在项目属性的应用程序部分中指定清单文件的方式很长)。

现在我的按钮看起来很难看,但最令人恼火的是 ProgressBar 控件在 Marquee 样式中不起作用。我很快将不得不求助于制作我自己的 Marquee 风格的 ProgressBar,或者只是在它的位置放入一个动画 GIF。关于按钮,我想我可以开始使用 Infragistics 按钮以获得更一致的结果。

请一如既往地感谢!

0 投票
2 回答
3473 浏览

c# - 如何使用视觉样式绘制 3D 边框?

我可以使用 ControlPaint.DrawBorder3D 绘制 3D 边框,但我得到了“Windows 经典”3D 边框。我想绘制当前主题的 3D 边框——在默认的 XP 主题中,这是一个 1px 的蓝色或灰色边框。我如何绘制它,以及如何获得它的宽度?

0 投票
1 回答
1723 浏览

mfc - Windows XP 样式按钮

如何在我的 MFC 对话框中获得 Windows XP 样式的按钮?

0 投票
2 回答
3896 浏览

wpf - 帮助:更改 WPF 应用程序清单?

我向 Microsoft 发布了一条评论,指出 WPF 中的对话框未启用 VisualStyle。

乔卡斯特罗在那里发布了一个我不太明白如何实现的解决方法,有人可以帮忙吗?

这是他的回应:

出于应用程序兼容性的原因,应用程序默认情况下不使用系统通用控件的 v6(自 XP 起可用)。这并不真正适用于 WPF,但您也只在使用本机控件时的少数情况下看到它,因此它不像 WinForms 那样普遍,后者的 API 只是包装标准控件。

要在 WPF 中解决此问题,您需要通过在 exe 的清单中指定 v6 comctl32 来明确选择加入。这必须在 exe 上完成,因此 WPF 不能将其作为其 DLL 的一部分。EnableVisualStyles 在运行时执行此操作,但这种方式通常更好。

例如,类似:

0 投票
2 回答
3156 浏览

vb.net - VB.NET 中的 TabControl 对齐问题

我在 VB.NET 中使用左对齐的 TabControl 有一个奇怪的行为。截屏:

替代文字

我想要的是让选项卡的方式与向左旋转 90 度时的方式相同。

这是否与我不(上帝保佑)使用标准 XP 主题的事实有关?任何解决方案让它工作?(即使很难,但我不想要一个具有对比风格的控件,我希望程序看起来一致)

谢谢!

美好的结局:

替代文字

0 投票
1 回答
158 浏览

winapi - 确定使用哪种视觉风格?

是否有确定当前使用哪种视觉风格(经典、“XP 风格”、Aero 等)的方法?应用程序是本机的,因此 .net 解决方案已经过时。

0 投票
1 回答
114 浏览

visual-studio - 粘贴到其他应用程序(例如 Outlook)时,Visual Studio 是否可以使用默认颜色?

我在 Visual Studio 中有一个自定义颜色主题,它使用看起来很棒的深色背景,但是当我复制并粘贴到 Outlook 中时,我希望 Outlook 使用默认格式,这可能吗?

我当前的解决方法是简单地粘贴到单个单元格表格中,将文本上的背景颜色重置为无,然后将背景颜色应用于表格单元格。

关于更清洁方法的任何想法?

0 投票
2 回答
855 浏览

c# - 没有启用视觉样式的 TabRenderer?

我想TabControl用自定义功能绘制一个自定义。

为此,我继承了 Panel 类并重写了 OnPaint 方法以使用TabRenderer类进行绘制。

问题是TabRenderer只有在启用视觉样式时才能工作(可以检查TabRenderer.IsSupported),但是如果禁用视觉样式我该怎么办?

在这种情况下,我认为使用ControlPaint该类来绘制没有视觉样式的选项卡,但它没有与选项卡相关的绘制方法。我希望它基本上在视觉上表现得像常规的TabControl.

0 投票
1 回答
880 浏览

user-interface - 如何为 ToolTip 控件启用 Vista/Win 7 主题/样式?

在 Windows Vista 和 Windows 7 中,工具提示具有新的视觉风格或主题,它们是闪亮的灰色金属。如何为 ToolTip 控件启用新样式?

一些控件,如 ListViews 和 ToolBars,自动使用新的工具提示,但其他工具提示使用旧的黄色 XP 样式呈现。

我尝试发送一条TTM_SETWINDOWTHEME消息,但没有任何反应,而且我不确定应该为视觉样式名称使用​​什么字符串。

SetWindowTheme也不起作用,我已在 ListViews 和 TreeViews 上成功使用它来设置“Explorer”样式(请参阅http://www.danielmoth.com/Blog/TreeViewVista.aspx),但这似乎没有处理工具提示。

我正在使用普通的 win32 C API。