2

我在 IE (7) 中有一个 ActiveX 控件。当它显示一个对话框时,该对话框不以 XP 视觉样式显示。我试过嵌入清单无济于事。有人知道吗?顺便说一句,对话框是使用 wtl 实现的。

4

3 回答 3

3

使用#define ISOLATION_AWARE_ENABLED 1 构建您的 dll。或者将编译器指令 /D ISOLATION_AWARE_ENABLED=1。不要忘记清单应该嵌入 id 2。

更多信息在这里:http: //msdn.microsoft.com/en-us/library/aa815321%28VS.85%29.aspx#_slate_set_the_isolation_aware_enabled_directive

顺便说一句,即使 ActiveX 嵌入到没有清单的可执行文件中,使用这些设置构建的 ActiveX 显示的对话框也会被蒙皮。

于 2008-12-14T19:24:55.157 回答
0

您可能想尝试在 Code Project 上对WTL 对话框进行蒙皮。

于 2008-11-15T12:05:51.310 回答
0

我认为这是因为 IE 正在读取通过 COM 公开的控件,而 .NET 使用它自己的方法从清单文件中读取。

尝试在表单加载之前调用 Application.EnableVisualStyles。这对我有用。

于 2009-11-29T23:02:54.680 回答