WINAPI: сделать текст кнопки в правильном визуальном стиле - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь получить окно для использования стиля Windows 10, и мне удалось настроить саму кнопку в этом стиле (изменив манифест исполняемого файла). Тем не менее, текст по-прежнему очень точечный, напоминающий стиль windows -класси c:

Windows-10 Style Button With Classic (Low-Resolution) Text

Код настройки:

INITCOMMONCONTROLSEX initCommonControls = {
    .dwSize = sizeof(INITCOMMONCONTROLSEX),
    .dwICC = ICC_STANDARD_CLASSES
};
InitCommonControlsEx(&initCommonControls);

Кнопка создания кода:

HWND startButton = CreateWindowExA(0, "BUTTON", "Start",
    WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON | BS_VCENTER,
    startButtonX, startButtonY, startButtonWidth, startButtonHeight, hWnd, NULL, hInstance, NULL);

Манифест приложения (раздел устанавливает визуальный стиль):

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"     xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0">
  <assemblyIdentity
      version="1.0.0.0"
      processorArchitecture="*"
      name="name.name.name"
      type="win32" />
  <description>a program</description>
  <dependency>
  <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*" />
    </dependentAssembly>
  </dependency>
  <asmv3:application>
     <asmv3:windowsSettings xmlns="https://schemas.microsoft.com/SMI/2016/WindowsSettings">
      <dpiAwareness>PerMonitorV2</dpiAwareness>
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
</assembly>
...