将自定义视觉样式(.msstyle)应用于单个Winforms应用程序
是否有任何方法可以在不更改整个系统主题的情况下将自定义视觉样式(.msstyle)应用于Windows窗体应用程序?基本上,我们希望我们的应用程序保持相同的主题,而不管控制面板中设置了什么。请不要告诉我你是否认为这是个好主意。我想知道是否有任何方法可以做到这一点,而不涉及专有库,比如一系列本机API调用。谢谢 该函数看起来就像您正在寻找的解决方案。您必须执行P/Invoke才能使用它。将自定义视觉样式(.msstyle)应用于单个Winforms应用程序,winforms,visual-styles,msstyles,Winforms,Visual Styles,Msstyles,是否有任何方法可以在不更改整个系统主题的情况下将自定义视觉样式(.msstyle)应用于Windows窗体应用程序?基本上,我们希望我们的应用程序保持相同的主题,而不管控制面板中设置了什么。请不要告诉我你是否认为这是个好主意。我想知道是否有任何方法可以做到这一点,而不涉及专有库,比如一系列本机API调用。谢谢 该函数看起来就像您正在寻找的解决方案。您必须执行P/Invoke才能使用它。不幸的是,这需要大量的挂钩,而不仅仅是简单的P/Invoke 使用托管代码重写/创建新控件可能更快、更好。否则,
不幸的是,这需要大量的挂钩,而不仅仅是简单的P/Invoke
使用托管代码重写/创建新控件可能更快、更好。否则,您需要在本机DLL的帮助下钩住主题化调用,并且在操作时要非常小心 事实上,恐怕我自己也不知道如何实现它。我会给出一个更有用的答案。通过查看Style Soft(该公司自2014年以来似乎已经死亡)的一个名为“VisualStyler”的工具的代码,整个过程似乎过于复杂,它很好地支持了所有这些 另外,如果你真的决定使用uxtheme,你会被Windows主题引擎提供的东西所困扰,仅限于它的视觉样式文件格式和hickups(你现在有一个好的编辑器吗?) 我希望微软在为XP创建主题化引擎时,能用钉子钉上钉子,让应用程序开发人员利用它来识别自己的应用程序。但在主题化/Windows产品标识方面,他们似乎从来没有这样做过(另一个例子是DWM没有公开任何3D转换功能,但通过滥用这些功能来防止应用程序做疯狂的事情可能是个好主意) 选择- 在托管代码中创建自己的控件,自己处理图形
- 购买适用于Win32应用程序的产品
- 开始进入WPF,它提供了创建应用程序主题的现代而明智的方法