Как создать пользовательский интерфейс для Windows? - PullRequest
1 голос
/ 19 мая 2010

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

Ответы [ 6 ]

2 голосов
/ 19 мая 2010

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

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

2 голосов
/ 19 мая 2010

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

1 голос
/ 19 мая 2010

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

0 голосов
/ 19 мая 2010

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

0 голосов
/ 19 мая 2010

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

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

0 голосов
/ 19 мая 2010

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

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

...