问题标签 [uxtheme]

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 投票
0 回答
204 浏览

c# - 具有 Windows 7 列标题样式的 ListView

可能重复:
NetUIHWND 和 DirectUIHWND

我已经看到 Windows 7 引入了一种新的列表视图样式,它甚至与 Windows Vista 不同。列在重新排序时具有淡入白和动画效果。在 Windows Vista 中,这些列只有一个有光泽的白灰色渐变,并且在重新排序时没有动画。

在 C# 中,我知道可以通过使用 uxtheme.dll 中的 SetTheme 来检索类似 Vista 的样式,但我没有找到获取 Windows 7 样式的代码片段。

如何检索仅限 Windows 7 的 ListView 样式?

0 投票
2 回答
1410 浏览

c++ - 我必须使用什么 Uxtheme 函数来获得最小化、最大化和关闭按钮的默认大小?

我正在使用该DrawThemeBackground功能在画布上绘制一些系统元素,并且我需要绘制表单的标题按钮,我错过的唯一部分是如何获取default标题按钮的大小。Exist any Uxtheme function to get that info?

在此处输入图像描述

0 投票
2 回答
1265 浏览

delphi - 使用 DrawThemeBackground 绘图时如何在从右到左 (RTL) 方向绘制元素部分?

我正在尝试以从右到左的方向绘制类的ttGlyphClosed元素(就像什么时候一样)。我有一个问题,我不知道如何使我的屏幕外位图透明。位图的背景总是白色的。Explorer::TreeviewBiDiModebdLeftToRight

我正在使用以下代码来镜像图像:

问题是如何镜像DrawThemeBackground函数绘制的元素(用于 RTL 读取)或如何使用此函数进行 RTL(从右到左)渲染?

0 投票
3 回答
10643 浏览

c# - 如何更改我的树视图图标 insted of +,- 就像 c#.net win 表单中的 Windows 资源管理器树视图

如何更改在ShowPlusMinus和/或ShowRootLinesare时出现的加号 (+) 和减号 (-) 图像的展开/折叠图像true

为了帮助可视化,我想制作以下 TreeView 树视图加/减 +/-

看起来像这样(如 Windows 资源管理器)

树视图箭头

0 投票
1 回答
396 浏览

c++ - “错误 C2065:'ON_WM_THEMECHANGED':未声明的标识符”

我正在使用VC6。如何解决错误?

类定义代码:

似乎我错过了一些头文件或lib文件,但是它们是什么,无论如何如何解决?

0 投票
1 回答
844 浏览

winapi - 具有原生 win7 外观的 MFC 彩色按钮

我正在使用 MFC 创建一个对话框项目并尝试为按钮赋予颜色。

我开始知道你能做的唯一方法是让按钮所有者绘制。OnCtlColor()不适用于按钮。

我可以为按钮上色OnDrawItem,但问题是,在此过程中,3D 酷炫的外观(在 Win7 中获得的略微圆角)丢失了。

有什么方法可以保留原始外观并在其上为按钮着色?

0 投票
1 回答
951 浏览

windows - 在会话 0 Winsta0 中启动在非默认桌面中运行的进程时无法加载 user32.dll

我有一个 Windows 服务(在 Windows Vista+ 上运行),它需要启动一个普通的 GUI 应用程序。出于某种原因,我需要在非默认桌面上运行 GUI 应用程序(当然,由于它是由服务进程启动的,所以它在 Session 0、WinSta0 中运行,但不在默认桌面上)。

代码看起来像这样。

TCreateProcess(...) 方法成功返回,但 GUI 应用程序在启动后立即退出。在 Gflags 的帮助下,我得到了以下信息。

我搜索了一段时间,似乎与安全问题有关。我试图将所有桌面相关权限授予当前用户,但没有帮助。

一件事可能会有所帮助。我注意到使用SYSTEM帐户运行时有几个DLL没有加载,第一个是uxTheme.dll。

任何人都知道为什么它不能在非默认桌面上工作,而在默认桌面上工作得很好?

谢谢。

0 投票
0 回答
405 浏览

c - 获取滚动条的主题过渡持续时间

我正在尝试实现一个自定义控件,该控件作为其WM_PAINT处理程序的一部分,绘制一个主题滚动条箭头。我还希望按钮的视觉状态(正常、热、悬停、按下等)之间的转换BeginBufferedAnimation()使用uxtheme.dll.

我现在的问题是我无法为滚动条获得正确的淡入淡出持续时间,因为该GetThemeTransitionDuration()功能失败了。E_INVALIDARG当我尝试查询转换持续时间时,它没有成功,而是返回(-2147024809):

这很奇怪,原因有两个:

(1) 在我的 Windows 7 版本中,主题滚动条显然在状态之间具有快速淡入淡出动画(例如在 Windows 资源管理器中)。

(2) 如果我将主题更改为 BUTTON 并仅使用正常和热按钮状态,则该函数返回S_OK并给出合理的转换持续时间(在我的机器上为 1000 毫秒)。

有没有办法查询我正在寻找的过渡持续时间?

0 投票
1 回答
469 浏览

c++ - 在 C++ 中获取 uxtheme.dll 的所有权并赢得 8.1

我试图以编程方式(c++)在我的 Windows 8.1 system32 文件夹中获得 uxtheme.dll 的所有权。我现在阅读、尝试和搜索了几个小时,但找不到任何解决方案。每次设置 uxtheme 所有权时,它都不会显示在属性选项卡中。所有权和全部权利始终由受信任的安装程序继承。

我试过了,system("takeown /f C:\Windows\system32\uxtheme.dll")它打印成功,但遗憾的是没有用。

TakeOwnership()msdn的函数也是如此。[http://msdn.microsoft.com/en-us/library/windows/desktop/aa379620%28v=vs.85%29.aspx]

我需要做什么来继承本地管理员的所有权,这样我就可以切换出这个 dll?资源保护和它有关系吗?

设置所有权后,我可以用 MoveFileEx() 替换 dll 吗?

非常感谢你,洛迪

0 投票
0 回答
2130 浏览

c# - 同时在 ListView 上使用 CreateParams 和 SetWindowTheme

我正在使用 SetWindowTheme 函数 (uxtheme.dll) 使我的 ListView 看起来像 Windows 7 本机。当我对它进行排序时,我不得不使用 CreateParams 的东西来防止 ListView 闪烁。它起作用了,但是当我使用该 CreateParams 代码时,SetTheme 不再起作用。有没有办法同时使用 Windows 7 原生主题和 CreateParams?

谢谢

编辑: 我通过在我的自定义 ListView 的 OnHandleCreated void 中添加一个 SetWindowTheme 调用解决了这个问题。感谢汉斯帕桑特