Как сделать окна в стиле Windows 7?

310
08 ноября 2018, 08:30

Подскажите как сделать окна, в точности повторяющие стиль Windows 7?

Например, как эти

Answer 1

Операционная система Windows поддерживает только один "хром" окон и не включает поддержку стилей хрома предыдущих версий Windows, поэтому с помощью WinAPI вы не сможете добиться стиля Windows 7 на Windows 10. (Условно поддерживается "классическая" тема, вроде, но это вас явно не интересует.)

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

Картинки кнопок можно вытянуть из ресурсов системных библиотек Windows 7, но лицензионно это, разумеется, запрещено.

В целом я бы советовал вам не слишком увлекаться стилями хрома без веской на то причины. Пользователь ожидает, что хоть хром-то будет единообразен, по нему можно будет угадать, какое окно активно, например.

В приложениях, которые активно используют хром, например, в современных браузерах, которые размещают в заголовке ушки вкладок, обычно наоборот стараются воспроизвести текущий стиль оси.

READ ALSO
Сбивается анимация

Сбивается анимация

У меня есть элемент управления StackPanel, в нем находятся Image расположенный по центру по вертикали и горизонтали

264
Как записать значение в регистр Modbus C#

Как записать значение в регистр Modbus C#

Как записать значение в определенный регистр Modbus C#? С простой отправкой данных на Com port проблем не возникало, а вот по поводу определенного...

289
Объясните пожалуйста код на C#

Объясните пожалуйста код на C#

Искал то, как в С# ввести сразу несколько переменных в одну строку, так вот, наткнулся на этот код :

287
Выгрузка Assembly из приложения

Выгрузка Assembly из приложения

Загружаю dll таким кодом:

220