· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Как написать программу, которая будет иметь интерфейс в стиле Office XP ?

Посл.отвђт Сообщенiе


Дата: Дек 26, 2003 19:40:56

Доброе время суток !!!
Господа программеры, мне хотелось бы узнать, как можно организовать интерфейс в стиле Office XP, при создании собственного приложения.
Буду очень благодарен тому, кто приведет общие рекомендации по данному аспекту ...
Заранее спасибо !!!


Дата: Дек 26, 2003 20:09:14

Никак. Они используют Ownerdrawn элементы, которые имеют движок в их либе. Причем API не описан.
Единственный вариант - это найти к примеру на CodeGuru либы которые делают подобное.


Дата: Дек 27, 2003 12:30:16

rst
Ясно, но а общая методика какая должна быть ??
То есть программы не подобие Resource Tuner имеют свою библиотеку common control-ов и вызовы интерфейса приходят к ним, ... или я не правильно мыслю ???
Мне интересно узнать, как это реализовать, пускай даже оно и не стоит затраченных усилий ...
Если у кого-то это получилось, то значит это возможно ...


Дата: Дек 27, 2003 13:30:27

Именно - имеют свою библиотеку.
Чтоб понять как это сделано - смотри в MSDN стиль WS_OWNERDRAW или как он там называется.
А вообще - сходи на CodeGuru - там есть примеры.


Дата: Дек 28, 2003 13:33:30

korst
Там OWNERDRAW, используеться далеко не всегда, например меню там создаёться полностью программно, т.е. окнам (обычным с зарегистрированным классом) присваиваються вид и функции того элемента управления которому надо подражать. А в Office XP, и в других программах используються библиотеки классов, которые и делают такой интерфейс, например меню создаёться в ресурсах, или кнопка, библиотека передирает оттуда координаты, текст, некоторые элементы стиля, и создаёт другую кнопку новую, но програмер работает с той что в ресурсах (например изменить текст), а библиотека фильтрует (чаще DLL), может где то я и не прав.


Дата: Дек 29, 2003 02:58:16

Самый простой и, в то же время, самый сложный способ - сделать интерфейс на подобии того, что делалось ранее в досовских программах. Т.е. не использовать контролов и рисовать все элементы формы вручную. Например: при нажатии на определенный (нарисованный) CheckBox, отлавливать нажатие на форме, рассчитывать, находится ли курсор над CheckBox'ом, и если да, то рисовать в нем крестик, занося в определенную флаговую переменную, что он отмечен.
Кажется такой метод применен во втором винампе.


Дата: Дек 31, 2003 01:28:06

Спасибо за консультацию ...
Некоторое для меня прояснилось и вышесказанного ...


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.076