2010-05-18 3 views
1

В настоящее время в Windows много приложений, которые не используют собственные элементы управления Windows, не имеют стандартных оконных рамок и, как правило, выглядят по-разному. Каковы рекомендуемые методы создания таких интерфейсов?Как создать пользовательский интерфейс для Windows?

ответ

2

С точки зрения дизайна, если ваш интерфейс не будет следовать за документально подтвержденными стандартами (например, рекомендациями по интерфейсу Windows), он должен быть интуитивным. Я думаю, что новое поколение приложений Windows будет проходить через растущую фазу таким же образом, как и в ранние дни Интернета. Через какое-то время некоторые стандарты или общие темы будут развиваться.

2

Есть веские причины не делать этого. Таким образом, вы, скорее всего, не будете делать лучше, чем Windows. (Может быть, будет посмотреть лучше (на ваш взгляд), но будет ли он вести себя?). Или это не то, что ожидают большинство пользователей. Или это будет выглядеть как **** на Windows 2011.

Это не сложно. Вы просто обрабатываете события WM_NC *, такие как WM_NCPAINT или WM_NCHITTEST. NC обозначает Non Client (область окна). И, конечно, есть трюк в Vista/Win7 (вы должны объявить об этом DWM).

+0

+1: правильный способ писать приложения, которые не используют внешний вид ОС, НЕ ДОЛЖНЫ СДЕЛАТЬ ЭТО ВСЕ. –

+1

Но я думаю, что пользователям нравится уникальный внешний вид приложений и многие компании. – grigy

+0

@grigy: Возможно, вы можете сделать этот аргумент для Windows XP, но определенно не для Vista/7/next. Vista представила последовательный взгляд на ОС, а приложения, которые не придерживаются этих стандартов, откровенно говоря, выглядят как дерьмо. Это похоже на создание приложения в стиле Windows в Mac OS X - вы можете подумать, что он выглядит лучше, но он настолько несовместим с остальной ОС. И я даже не коснулся аспекта юзабилити. –

1

С точки зрения реализации вы можете использовать WPF (Windows Presentation Foundation), предполагающий, что вы используете код для .NET. У него есть довольно множество скинов, которые могут выглядеть как родные, а могут и не быть.

0

Можете ли вы дать нам несколько примеров приложений? Некоторые приложения, которые не используют собственные средства управления окнами, используют кросс-платформенные графические библиотеки, такие как Qt для C++ или Tkinker. Они поддерживают одинаковый внешний вид на разных платформах.

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

+0

Программное обеспечение для VPN и WiFi на моем рабочем ноутбуке (для которого я не несу ответственности) оба являются нестандартными графическими интерфейсами. Понятия не имею почему. Антивирус использует собственные границы, но не связанные с ним элементы управления, возможно, поскольку нет гибридного списка содержимого/табуляции. Я сомневаюсь, что любой из них является кросс-платформенным. –

+0

Например Google Talk. Главное окно не похоже на стандартное приложение Windows. – grigy

0

Я не уверен, что ответ на ваш вопрос.

Вы можете использовать сторонние средства скиннинга, например, от Infragistics или SkinSoft. Но, как сказал Бубба, я рекомендую перейти на WPF.

0

Model-View-Controller! Это так же ценно, как в веб-приложениях или где-либо еще. Обязательно сохраните часть своей программы, которая генерирует пользовательский интерфейс отдельно от части вашей программы, которая мигает BIOS.

Смежные вопросы