旧样式的IOleObject

时间:2011-10-01 00:05:07

标签: c# ole aero

我有一个使用IOleObjects的代码片段并调用方法“SetClientSite”。

pIOleObject.SetClientSite(this);

现在我的问题是该按钮以旧的Windows风格显示,它是平的,没有Aero效果。我想我必须调用“SetColorScheme”,但我不知道如何使用LOGPALETTE。 我只需要将这些IOleObjects用于受信任安全区域中的webbrowser控件。 也许有人可以提供帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

您的OLE控件正在从其主机应用程序中选择其样式。您需要使用ID2 Win32 Manifest来创建激活上下文,在每个OLE方法的入口处声明激活上下文,并确保您的控件是窗口而不是无窗口,以便它获得您的主题。

或者,如果主机exe也在您的控制之下,只需使用ID1 Win32清单将主题控件设置为进程范围内的默认值。

http://msdn.microsoft.com/en-us/library/bb773175.aspx

马丁