Мне необходимо зделать кнопку треугольной формы. Под досом я бы после нажатия мышки проверял совпадение координат мышки
с облатью где нарисована кнопка произвольной формы, ну и т.д. Но это геморой.
Короче сам вопрос:
Можно ли в WIN32 пользуясь стандартными библиотеками создать кнопку произвольной формы?
Если да, то подскажите как, pls.
Если нет, то расскажите мне более оптимальные способы, если они есть конечно.
Здравствуйте, Данила, Вы писали:
Д>Можно ли в WIN32 пользуясь стандартными библиотеками создать кнопку произвольной формы? Д>Если да, то подскажите как, pls. Д>Если нет, то расскажите мне более оптимальные способы, если они есть конечно.
Если твоя кнопка будет унаследована от стандартной кнопки Windows (класс BUTTON), то выручат регионы. Создаешь полигональный регион и вызываешь SetWindowRgn для своей кнопочки.
Другой выход — рисовать и обрабатывать кнопку полностью самостоятельно. Так, например, делает ToolBar.
Здравствуйте, retalik, Вы писали:
R>Если твоя кнопка будет унаследована от стандартной кнопки Windows (класс BUTTON), то выручат регионы. Создаешь полигональный регион и вызываешь SetWindowRgn для своей кнопочки. R>Другой выход — рисовать и обрабатывать кнопку полностью самостоятельно. Так, например, делает ToolBar.
SetWindowRgn кажется не работает с WS_CHILD окнами, или как-то нужно еще заморачиваться. С WS_Overlopped — работает без проблем.
Народу не нужны нездоровые сенсации. Народу нужны здоровые сенсации! (с) Стругацкие.
Здравствуйте, Dwarf, Вы писали:
R>>Если твоя кнопка будет унаследована от стандартной кнопки Windows (класс BUTTON), то выручат регионы. Создаешь полигональный регион и вызываешь SetWindowRgn для своей кнопочки.
D>SetWindowRgn кажется не работает с WS_CHILD окнами, или как-то нужно еще заморачиваться. С WS_Overlopped — работает без проблем.
Точно, не работает. Не знал. Ну, есть вариант — создать OVERLAPPED — окно и прикидываться в нем CHILD-ом (вовремя перемещаться и прятаться вместе с "родителем")
Если серьезно, то, действительно, проще рисовать самому. Вон, под XP кнопки в тулбарах непрямоугольные.
Д>Можно ли в WIN32 пользуясь стандартными библиотеками создать кнопку произвольной формы? Д>Если да, то подскажите как, pls. Д>Если нет, то расскажите мне более оптимальные способы, если они есть конечно.
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
Оценка:
Всем огромное спасибо!
Пока разбирался зделал кнопку в виде бублика