Как создать копки произвольной формы?
От: Данила  
Дата: 21.01.03 10:02
Оценка:
Народ! Я новичек в WINAPI, но дело не в этом

Мне необходимо зделать кнопку треугольной формы. Под досом я бы после нажатия мышки проверял совпадение координат мышки
с облатью где нарисована кнопка произвольной формы, ну и т.д. Но это геморой.
Короче сам вопрос:

Можно ли в WIN32 пользуясь стандартными библиотеками создать кнопку произвольной формы?
Если да, то подскажите как, pls.
Если нет, то расскажите мне более оптимальные способы, если они есть конечно.
Re: Как создать копки произвольной формы?
От: retalik www.airbandits.com/
Дата: 21.01.03 10:09
Оценка:
Здравствуйте, Данила, Вы писали:

Д>Можно ли в WIN32 пользуясь стандартными библиотеками создать кнопку произвольной формы?

Д>Если да, то подскажите как, pls.
Д>Если нет, то расскажите мне более оптимальные способы, если они есть конечно.

Если твоя кнопка будет унаследована от стандартной кнопки Windows (класс BUTTON), то выручат регионы. Создаешь полигональный регион и вызываешь SetWindowRgn для своей кнопочки.
Другой выход — рисовать и обрабатывать кнопку полностью самостоятельно. Так, например, делает ToolBar.
Успехов,
Виталий.
Re[2]: Наш ответ НАТО
От: Dwarf Россия dwarf.h1.ru
Дата: 21.01.03 10:18
Оценка:
Здравствуйте, retalik, Вы писали:

R>Если твоя кнопка будет унаследована от стандартной кнопки Windows (класс BUTTON), то выручат регионы. Создаешь полигональный регион и вызываешь SetWindowRgn для своей кнопочки.

R>Другой выход — рисовать и обрабатывать кнопку полностью самостоятельно. Так, например, делает ToolBar.

SetWindowRgn кажется не работает с WS_CHILD окнами, или как-то нужно еще заморачиваться. С WS_Overlopped — работает без проблем.
Народу не нужны нездоровые сенсации. Народу нужны здоровые сенсации! (с) Стругацкие.
Re[3]: А кто здесь НАТО?
От: retalik www.airbandits.com/
Дата: 21.01.03 10:34
Оценка:
Здравствуйте, Dwarf, Вы писали:

R>>Если твоя кнопка будет унаследована от стандартной кнопки Windows (класс BUTTON), то выручат регионы. Создаешь полигональный регион и вызываешь SetWindowRgn для своей кнопочки.


D>SetWindowRgn кажется не работает с WS_CHILD окнами, или как-то нужно еще заморачиваться. С WS_Overlopped — работает без проблем.


Точно, не работает. Не знал. Ну, есть вариант — создать OVERLAPPED — окно и прикидываться в нем CHILD-ом (вовремя перемещаться и прятаться вместе с "родителем")
Если серьезно, то, действительно, проще рисовать самому. Вон, под XP кнопки в тулбарах непрямоугольные.
Успехов,
Виталий.
Re: Как создать копки произвольной формы?
От: Valerio Россия linkedin.com/in/boronin
Дата: 21.01.03 14:07
Оценка:
Д>Можно ли в WIN32 пользуясь стандартными библиотеками создать кнопку произвольной формы?
Д>Если да, то подскажите как, pls.
Д>Если нет, то расскажите мне более оптимальные способы, если они есть конечно.

здесь ты все найдешь и даже больше
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re: Как создать копки произвольной формы?
От: Аноним  
Дата: 22.01.03 06:29
Оценка: :)
Всем огромное спасибо!
Пока разбирался зделал кнопку в виде бублика
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.