C ++ / WIN32 Профессионально выглядящее приложение - действительно ли это возможно? - PullRequest
8 голосов
/ 16 июля 2011

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

Как мы все знаем, при кодировании с окнами мы обычно получаемцвета / кнопки / списки в стиле windows. Они выглядят и выглядят ужасно.

Когда мы решаем, что хотим продать приложение, люди хотят, чтобы оно выглядело хорошо - очевидно, потому что они заплатили за него.

Итак, вопрос в следующем:

  • Как сегодня выглядит хорошее приложение?
  • Владелец чертежа?(неужели ??)
  • пользовательские элементы управления?
  • какие-нибудь хорошие несвободные библиотеки, которые выполняют «грязную» работу и «очищают» ваше приложение?

Я не верю, что программисты делают эти «переопределенные» подсказки и трюки, так много времени уходит на полное выполнение одного элемента управления. Кроме того, я бы предпочел потратить это время на написание кода для внутреннего приложения, а не на прорисовку отдельных элементов управления…

Понятия не имею, но у меня есть крайний срок, и теперь, пройдя все эти «отозванные владельцем» элементы управления в Google - я понял, что это не то, что нужно… Должно быть что-то еще, что пригодится, когдапрограммисту нужно, чтобы его приложение выглядело топовым!

Помогите, пожалуйста, какие-нибудь инструменты?какие-нибудь советы ?что-нибудь ..?

Несколько примеров, как они выглядят так:

http://fooh.pl/pokaz/3198197337370da4cdfdebf0ae13933c_openfm.jpg

Ответы [ 9 ]

2 голосов
/ 16 июля 2011

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

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

И, наконец, независимо от того, какой модный скин вы выберете, функциональность, скорее всего, должна быть индивидуальной. То есть, если вам нужны непрямоугольные элементы управления или анимации, на эти вещи нужно потратить время на разработку.

Использование инструментария, такого как Qt, может быть хорошей инвестицией. Но это та деталь, которая требует больших усилий, независимо от того, как вы ее нарезаете.

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

  1. Специальные возможности, такие как клавиатурная навигация, средства чтения с экрана, высокая контрастность. Собираетесь ли вы на самом деле попытаться заново изобрести все специальные возможности, которые Windows предоставляет с элементами управления? Или стоит запретить людям с ограниченными возможностями использовать ваше приложение, чтобы вы могли использовать скин (не говоря уже о людях без инвалидности, которые используют специальные возможности)?
  2. Изменение размера. Ваша кожа означает отключение любого изменения размера вашего окна? Опять же, стоит ли это того?
  3. Некоторые вещи не могут быть очищены от кожуры очень хорошо. Например, полосы прокрутки и меню. Некоторые разработчики изобретают их заново (особенно трудно изобретать полосы прокрутки), другие просто оставляют их непокрытыми.
  4. Тема Windows. Тематика Windows - это не просто цвет меню «Пуск»; он должен диктовать внешний вид всей вашей ОС. Использование стандартных элементов управления Windows позволяет пользователям использовать встроенный механизм для выбора внешнего вида.
2 голосов
/ 16 июля 2011

Например, вы можете взглянуть на Qt . В дополнение к его базовой функциональности вы также можете стиль все виджеты по своему вкусу (в манере, очень похожей на CSS) и, таким образом, создавать "темы" для вашего сердца.

Для непрямоугольного вида окна на изображении, на которое вы ссылаетесь, вы можете использовать функцию Qt setMask ().

1 голос
/ 16 июля 2011

Если вы хотите покопаться под прикрытием какого-либо конкретного приложения, вы можете запустить Spy Utility и посмотреть, на сколько элементов управления был разбит интерфейс:

Я хочу Spy ++, но у меня нет Visual Studio

Есть ли Spy ++ подобная утилита для WPF?

Например ... шпионаж в Windows Media Player в режиме скинов обнаруживает, что существует класс окна с именем WMP Skin Host, и вы можете видеть, что у него есть ноль дочерних окон. (Обычный режим без скинов разбит на несколько списков и кнопок, например.)

По моему опыту, "современный" скиннинг - это, как правило, катастрофа, когда люди слишком много перевоплощают, чтобы попытаться "выглядеть круто". Это затрудняет автоматизацию (через такие вещи, как AutoIt ), не говоря уже о специальных возможностях для инвалидов. Кроме того, то, что сегодня выглядит круто, не будет актуальным, если вы не используете API для создания тем на основе ОС.

(Примечание: поскольку я в целом поклонник Qt, я бы посоветовал изучить QStyle и QStylePainter . Но это больше "тематика", чем "скиннинг".)

Я бы очень опасался использовать скиннинг в приложении, если бы не узнал, что я разрабатываю для рынка, который абсолютно требовал его (например, музыкальные проигрыватели).

1 голос
/ 16 июля 2011

Команда C ++ собрала образец под названием Hilo (как на Гавайях), который не использует фреймворки (ни ATL, ни MFC), а весь код является нативным.Он использует ряд возможностей Windows 7 и восхитительную графику и анимацию.Весь код и дизайн доступны и задокументированы.Посмотри.

1 голос
/ 16 июля 2011

Вероятно, в этом приложении нет ни одного элемента управления.

Вместо этого все это отображается в виде изображения.Имеется фоновое изображение, а также несколько наложенных изображений (в основном прозрачных), которые обеспечивают выделение при наведении мыши, отключенные элементы управления и т. Д. Единственное, что не отображается, - это информация о текущей дорожке и списке воспроизведения, которая представляет собой чистый текст с определенным шрифтом.*

Хит-тестирование может быть выполнено с еще одним изображением.

Программист практически не работает над реализацией причудливого дизайна, все это выполняет художник (и такие программы, как Photoshop, поддерживают слои в редакторе,что упрощает создание всех наложений).

Недостатком, конечно, является то, что кнопки не работают так же, как обычные кнопки Win32.Они не поддерживают фокусировку клавиатуры (хотя, вероятно, есть горячие клавиши) и просто активируются при наведении мыши.А доступность ужасна, информации для программы чтения с экрана нет, а приложение не учитывает настройки размера шрифта системы.Чтобы сделать пользовательский интерфейс читабельным для людей с плохим зрением, требуется совершенно другой скин.

0 голосов
/ 22 марта 2014

Вы можете использовать внешние механизмы компоновки, например HTMLayout от terra informatica, в этом также используется какое-то профессиональное программное обеспечение.

0 голосов
/ 16 июля 2011

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

0 голосов
/ 16 июля 2011

Если вы не против попасть в C ++ / CLI, есть WPF, он предлагает довольно обширный контроль над пользовательскими стилями и шаблонами.

0 голосов
/ 16 июля 2011

Обычно вы можете визуализировать пользовательские элементы управления с помощью рендеринга GDI (+).

...