【问题标题】:Is there a way to change the old MFC browser window by using CEF?有没有办法通过使用 CEF 来更改旧的 MFC 浏览器窗口?
【发布时间】:2020-08-24 15:46:30
【问题描述】:

我可以在 MFC 窗口中加载我的 html 代码,但是我似乎无法更改窗口本身的样式? 目前我有旧的 Windows 浏览器:

但我想要这样的东西,我可以更改浏览器窗口的颜色、按钮和边框。

根据我的发现,您无法更改窗口在 MFC 中的外观,那么有没有可能使用 CEF 更改它的方法?我在想也许 CSS 可以做到,但它只会影响窗口内的 HTML。

【问题讨论】:

  • 你的项目有什么版本的 MFC ?
  • 嗨,我好像使用的是版本 14。'MFC_VER 0x0E00 // Microsoft Foundation Classes 版本 14.00'

标签: css mfc chromium-embedded


【解决方案1】:

在你的 stdafx.h 中有这段代码吗?

#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif

如果你这样做了,只需激活它,你就会得到想要的外观。

附:确保编译器不应该通过 #define 指令来避免上面的行。如果这些行处于活动状态,它们应该可以根据需要改进您的框架窗口。

【讨论】:

  • 这些指令可以放在任何翻译单元中。将它们放在头文件中是不寻常的,尤其是当该头文件被多次包含时。毕竟,链接器指令包含在任何单个 .obj 文件中就足够了。
  • 该指令是在项目创建时自动生成的,在该 stdafx.h 文件中。
  • 也许是这样,但这并不会使我的评论无效。不禁止质疑他人的决定。并且不需要将此链接器指令放入多个 .obj 文件中。
  • 我无意使您的答案以及任何答案都无效:) ...我只是通知您这些行是自动放在那里的。无论如何,谢谢你的信息。
  • @flaviu2 你能详细说明一下答案吗?我的'stdafx.h'中有这一行:#if _MSC_VER >= 1400 #pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0 .0.0' processorArchitecture='' publicKeyToken='6595b64144ccf1df' language=''\"") #endif 但这将如何改变浏览器框架?进行此更改后如何更改它。 CSS似乎不会影响窗口,只会影响其中的html。我是否使用 CEF 以某种方式做到这一点?
猜你喜欢
  • 2022-10-20
  • 2018-01-31
  • 1970-01-01
  • 2022-08-17
  • 1970-01-01
  • 1970-01-01
  • 2011-06-09
  • 1970-01-01
  • 2017-03-04
相关资源
最近更新 更多