Кнопки в приложении Windows GUI выглядят некрасиво (вместо windows native) - PullRequest
2 голосов
/ 07 января 2020

Я делаю простое приложение Windows GUI, используя C. Но элементы пользовательского интерфейса выглядят очень некрасиво (как в 1990 году) вместо родных элементов управления Windows 7, которые я обычно ожидаю. Это почему? Что мне нужно сделать, чтобы получить нативные элементы управления Windows 7? (Я использую Windows 7)

Также мне интересно узнать о

  1. Почему строки заголовка выглядят Windows 7 родными (с прозрачностью) вместо старого стиля ?
  2. Но остальные элементы управления выглядят старыми?

Вот моя C программа

#include <windows.h>

int STDCALL;

WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
{
    MessageBox (NULL, "Hello, Windows!", "Hello", MB_OK);
    return 0;
}

Результат выглядит как 2 windows на вершина. Но я ожидаю, что это будет похоже на изображение внизу.

enter image description here

1 Ответ

1 голос
/ 07 января 2020

Спасибо за комментарии и указание мне в правильном направлении, я решил это, добавив файл appname.exe.manifest, а затем заново скомпилировал мою программу, и теперь у нее есть Windows 7 собственный стиль вместо classi c стиль.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity version="1.0.0.0" processorArchitecture="*"
        name="CompanyName.ProductName.YourApplication" type="win32"/>
    <description>Your application description here.</description>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity name="Microsoft.Windows.Common-Controls"
                version="6.0.0.0" type="win32" processorArchitecture="*"
                publicKeyToken="6595b64144ccf1df" language="*"/>
        </dependentAssembly>
    </dependency>
</assembly>
...