问题标签 [windows-themes]

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

c++ - UXTheme:绘制无边界组合框雪佛龙

我正在尝试绘制一个应该使用“组合框”主题类的自定义控件。

使用

给出正确的背景(只读外观),没有 V 形。但是如何添加雪佛龙?

正确绘制雪佛龙,但有自己的边框,雪佛龙位于rect. 因此,如果我使用完整的客户端矩形,我会得到:

组合框居中的雪佛龙

如果我使用较小的矩形以便正确定位人字形,我会得到一个单独的下拉列表:

组合框盒装雪佛龙

我如何获得“正常”的外观?- 即像这样:

在此处输入图像描述


奖金问题:

有没有比 MSDN 做得更好的文档?它与大多数较新的文档一样稀疏,例如仅列出“部件和状态”,而没有描述它们的目的(这并不总是很明显),以及它是针对特定项目DrawThemeBackground还是〜 。Edge

我仍然使用旧DrawFocusRect的焦点矩形吗?

GetThemeBackgroundContentRect计算 的预期矩形iPartId=CP_READONLY,但对于iPartId=CP_CUEBANNER,它返回完整的客户矩形,因此提示文本对齐错误。这……正常吗?