DLL中的XP风格组合框

时间:2011-08-08 23:49:22

标签: c++ visual-studio winapi

我需要在带有C ++和WIN32 API(无MFC)的DLL中创建一个带有XP风格的组合框。 我设法在DLL中创建控件(不是在XP风格)。 我设法在带有清单的exe中创建XP风格的组合框,但它在DLL中不起作用。

2 个答案:

答案 0 :(得分:2)

为了让您的DLL加载comctl v6(提供“XP主题”版本的公共控件的DLL)而不依赖于其托管进程来获得相应的清单,您需要使您的DLL 隔离知晓

使用MSDN中描述的here中的C ++类,或尝试#defining ISOLATION_AWARE_ENABLED=1

答案 1 :(得分:0)

为了强制您的控件使用XP主题渲染,无论是否在清单中启用,您都需要使用视觉样式API。这适用于XP及更高版本,并支持渲染大多数常用控件。有关使用API​​的更多信息,请访问here