Стили кнопок

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Alezis
Сообщения: 98
Зарегистрирован: 16 авг 2004, 01:10
Откуда: Минск
Контактная информация:

Народ как сделать стили кнопок т.е. как в VS 7.0? т.е. такие овальные и красивые под Win32. Или я просто чего то не знаю. :)
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Какие такие овальные и красивые, почему не знаю? :)
Если серьезно, о каких кнопках речь? Обычно все красивости - это или стиль BS_OWNERDRAW, или SetWindowRgn().
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Можно использовать СBitmapButton из MFC или одноимённый шаблон из WTL. Тогда тебе придётся самому в графическом редакторе нарисовать изображение кнопки в нескольких состояниях: нормальное, нажатое, выделенное, запрещённое (последнее можно не использовать). А программа уже сама будет вырисовывать нужную картинку в зависимости от текущего состояния кнопки.
Alezis
Сообщения: 98
Зарегистрирован: 16 авг 2004, 01:10
Откуда: Минск
Контактная информация:

...Ну вот в Visual Studio .NET 7.0 в мфц-эшном проекте такие красивые кнопки, ну т.е. такие с зёлёным контуром и немножко овальныее и т.д.(о как кнопки на форуме), а я вот делаю под Win32 а тама они такие все квадратные, аж тошно.Впрочем и в Visual 6.0 под мфцы тоже квадратные, вот я и спросил может глупый, но очень волнующий вопрос. :D

З.Ы. Рисовать я не умею, но видно для кнопок сделаю исключения если не найду уже намалёваных :)
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

опсмотри на sources.ru
В SAD - все в SAD.
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

В редакторе диалоговых окон кнопки в любом случае будут серыми и квадратными. А их расцвечиванием должно заниматься твоё приложение. Это можно сделать с помощью так называемого субклассинга или c помощью стиля OWNERDRAW. Субклассы стандартных элементов управления в достаточных количествах имеются в интернете как на базе MFC, так и на базе ATL/WTL.
Ответить