Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 蒙皮WinAPI控件_C++_Winapi_User Interface_Skinning - Fatal编程技术网

C++ 蒙皮WinAPI控件

C++ 蒙皮WinAPI控件,c++,winapi,user-interface,skinning,C++,Winapi,User Interface,Skinning,如果您曾经在Adobe Creative Suite 5(CS5)中看到过应用程序,您可能已经注意到它看起来不像本机Windows GUI。。他们对其进行了修改,使其具有不同的外观 有人从哪里开始制作具有自定义外观的应用程序?CS5使用Adobe源代码库进行小部件/控件管理,因此我尝试下载并编译Adobe源代码库,看看是否可以制作一个像Photoshop CS5这样的外观美观的应用程序,但最终让它编译并测试后,我意识到该库只用于管理小部件,而不是像CS5那样对GUI进行蒙皮 我应该从哪里开始制作

如果您曾经在Adobe Creative Suite 5(CS5)中看到过应用程序,您可能已经注意到它看起来不像本机Windows GUI。。他们对其进行了修改,使其具有不同的外观

有人从哪里开始制作具有自定义外观的应用程序?CS5使用Adobe源代码库进行小部件/控件管理,因此我尝试下载并编译Adobe源代码库,看看是否可以制作一个像Photoshop CS5这样的外观美观的应用程序,但最终让它编译并测试后,我意识到该库只用于管理小部件,而不是像CS5那样对GUI进行蒙皮

我应该从哪里开始制作一个像AdobeCS5应用程序这样的皮肤美观的程序?谁能给我指出正确的方向吗


我是否只需要使用WinAPI中的WM_PAINT消息并使用openGL或其他工具呈现我自己的小部件?

如果您想自己实现自定义控件,您需要使用GDI/GDI+实现自己的WM_PAINT和绘图。对于顶级窗口和弹出窗口,您可以使用。但我认为,如果您不想自己实现,您可以在internet上找到许多价格合理的专业自定义控件。

使用QT和QML。它没有陡峭的学习曲线。您可以使用JavaScript定义GUI,添加大量效果,并享受在您可以想象的每件事情中使用PNG的乐趣。然后用C++做应用程序逻辑。事实上,除了使用QML的UI之外,您还可以做一些相当高级的事情,但最好像往常一样分离关注点


我在工作中使用它来发布产品。重写WM_PAINT不是Windows中的唯一方法,但我强烈建议在自定义绘制UI时使用QT而不是Win32 API。至少从我的经验来看,这比我使用Win32 API的经历要简单得多。

我认为你可以选择:或(通过C++/CLI)重新创建一个现代皮肤应用程序。

如果你有一个现有的Win32 API应用程序,并且你不想使用支持皮肤的库来重写它,你可能想看看


如果您决定重写您的应用程序,我还建议您使用Qt。使用Qt重写,请阅读更多有关他们的体验。

Adobe Creative Suite中的许多程序使用自定义控件库,而不是Windows API提供的标准控件。对现有控件进行蒙皮不是一件简单的事情。更新了Guitar Pro 6博客文章的链接: