Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Создание окна нестандартной формы


Автор: aldari 6.3.2007, 11:21
Как создать окно сложной формы?
У меня есть готовый эскиз - рисунок. 

Автор: _hunter 6.3.2007, 11:46
http://www.rsdn.ru/article/gdi/regions.xml

Автор: aldari 6.3.2007, 13:28
Спасибо, все это я прочитал.
Поясню вопрос. 

В подфоруме .NET упоминалось, но не освещалось создание окна, в качестве заготовки которого выступал рисунок.
Рисунок не только играет роль фона. Он имеет сложную форму: заветушки по бокам, сверху шапка и т.д. 
Не уж то в программах со скинами комбинируют примитивы.

Я разархивировал один подходящий скин Halo для  Windows Media Player и увидел, что рисунок прямоугольный или ещё какой-то, всё что должно быть прозрачным окрашено в "волшебный цвет" розовый (вроде бы RGBFF00FF).




Автор: _hunter 6.3.2007, 13:53
Цитата(aldari @  6.3.2007,  13:28 Найти цитируемый пост)
Не уж то в программах со скинами комбинируют примитивы.

а в чем проблема?

Автор: Alexeis 6.3.2007, 14:08
Цитата(aldari @  6.3.2007,  13:28 Найти цитируемый пост)
Я разархивировал один подходящий скин Halo для  Windows Media Player и увидел, что рисунок прямоугольный или ещё какой-то, всё что должно быть прозрачным окрашено в "волшебный цвет" розовый (вроде бы RGBFF00FF).

  Есть такая API функция SetLayeredWindowAttributes(), вот она и позволяет делать прозрачность окон по указаному цвету, а также по альфе.

Вообще советую почитать описание "Using Layered Windows" в топе "Using Windows" в MSDN.

Автор: aldari 6.3.2007, 15:34
Всё получилось, то что хотел.

Всем спасибо!
Тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)