Есть ли способ изменить старое окно браузера MFC с помощью CEF?

#css #mfc #chromium-embedded

#css #mfc #встроенный в chromium

Вопрос:

Я могу загрузить свой HTML-код внутри окна MFC, однако, похоже, я не могу изменить стиль самого окна? В настоящее время у меня старый браузер Windows:

введите описание изображения здесь

Но я хочу что-то вроде этого, где я мог бы изменить цвет, кнопки и границу окна браузера.

введите описание изображения здесь

Из того, что я обнаружил, вы не можете изменить внешний вид окна в MFC, так есть ли возможный способ изменить его с помощью CEF? Я подумал, может быть, CSS мог бы это сделать, но это влияет только на HTML внутри окна.

Комментарии:

1. Какая версия MFC у вас есть для вашего проекта ?

2. Привет, похоже, я использую версию 14. ‘MFC_VER 0x0E00 // Microsoft Foundation Classes версии 14.00’

Ответ №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
  

Если вы это сделаете, просто активируйте его, и тогда у вас будет желаемый вид.

P.S. Убедитесь, что ваш компилятор не должен избегать приведенных выше строк с помощью директив #define. Если эти строки активны, они должны улучшить ваши фреймовые окна по вашему желанию.

Комментарии:

1. Эти директивы могут быть помещены в любую единицу перевода. Необычно иметь их в файле заголовка, особенно когда этот файл заголовка включается несколько раз. В конце концов, достаточно, чтобы директивы компоновщика содержались в любом отдельном файле .obj.

2. Эти директивы автоматически генерируются при создании проекта в этом файле stdafx.h.

3. Может быть и так, но это не делает недействительным мой комментарий. Не запрещено подвергать сомнению решения, принятые другими. И размещение этой директивы компоновщика в нескольких файлах .obj просто излишне.

4. У меня нет намерения аннулировать ваш ответ, а также любой другой ответ 🙂 … Я просто сообщаю вам, что эти строки помещаются туда автоматически. В любом случае, спасибо за вашу информацию.

5. @flaviu2 Не могли бы вы немного подробнее остановиться на ответе. У меня была эта строка в моем ‘stdafx.h’: #if _MSC_VER >= 1400 #комментарий pragma(компоновщик,»»/manifestdependency:type=’win32′ name=’Microsoft. Windows. Common-Controls’ version=’6.0.0.0′ ProcessorArchitecture=’ ‘ PublicKeyToken=’6595b64144ccf1df’ language=’ ‘»») #endif но как это изменит фрейм браузера? как я могу изменить его после внесения этого изменения. CSS, похоже, не влияет на окно, только на html внутри него. Использую ли я CEF для этого как-то?