Почему моя кнопка выглядит так, как будто она из 1990 года?

Я пишу приложение с графическим интерфейсом для Windows, и мне нужна обычная кнопка.

Я использую этот код для создания кнопки:

hwnd = CreateWindowEx(
    NULL,
    "BUTTON",
    "Button",
    WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
    CW_USEDEFAULT, CW_USEDEFAULT,
    60, 25,
    parentHwnd, NULL,
    GetModuleHandle(NULL), NULL);

Я хочу, чтобы кнопка выглядела так (не обращайте внимания на цвет фона):

Хорошая кнопка

Но в итоге это выглядит так:
Bad button
Думаю, я отсутствует стиль или что-то в этом роде. Что я могу сделать, чтобы он выглядел как первая кнопка?


person John Zane    schedule 20.12.2010    source источник
comment
Вы забыли манифест.   -  person Ignacio Vazquez-Abrams    schedule 20.12.2010
comment
@Ignacio, я использую Visual Studio, но мой проект настроен как консольное приложение. Будет ли он работать нормально, если я сделаю его приложением Win32?   -  person John Zane    schedule 20.12.2010
comment
возможный дубликат Нормально выглядящая кнопка с c++/win32   -  person Ignacio Vazquez-Abrams    schedule 20.12.2010
comment
Неважно, какое это приложение, главное, чтобы у него был манифест.   -  person Ignacio Vazquez-Abrams    schedule 20.12.2010
comment
@Ignacio Да, я спрашиваю, настроено ли в настройках проекта Win32 автоматическое создание манифеста. Я бы предпочел не делать это вручную, поэтому мне интересно, какие настройки я могу использовать в VS, чтобы заставить его делать это за меня.   -  person John Zane    schedule 20.12.2010
comment
@Джон Зейн, я не думаю, что тебе нужно консольное приложение. Я бы предположил, что вам не нужна консоль. Вам нужно простое приложение Win32 без MFC и т. д.   -  person David Heffernan    schedule 20.12.2010


Ответы (1)


См. Нормально выглядящая кнопка с c++/win32

person zsalzbank    schedule 20.12.2010
comment
Я последовал предложению в ответе ниже принятого ответа по этой ссылке, и кнопка все еще выглядит плохо. - person John Zane; 20.12.2010
comment
На самом деле я редактирую манифест и компилирую, а потом VS говорит Этот файл был изменен, вы хотите перезагрузить его в редакторе? Я нажимаю «да», и он возвращается к тому, что было до компиляции, без правильной зависимости. Как это исправить? - person John Zane; 20.12.2010