Форум: "Основная";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];
ВнизКак создать круглую кнопку в делфи??? Найти похожие ветки
← →
Dima_Delphi © (2004-07-16 18:07) [0]Требуется в програме создать кнопки но круглые, а как это сделать не знаю, помогите люди добрые!
А ещё интересна тема, как сделать чтобы на форме была круглая область при наведении на которую мышью, будут происходить какие либо действия????
← →
Sur (2004-07-16 18:46) [1]SetWindowRgn
← →
y-soft © (2004-07-16 21:58) [2]Если наследовать от TButton, то придется проделать немалую работу:
1. В CreateParams установить стиль bs_OwnerDraw
2. В CreateWnd создать эллиптический регион и назначить его окну кнопки
3. В SetBounds пересоздавать этот регион с новыми размерами и присваивать окну
4. Написать обработчик сообщения CN_DRAWITEM и в нем выполнять рисование для разных состояний (кнопка не нажата, кнопка нажата, нет фокуса, есть фокус), т.к. Windows круглые кнопки рисовать не умеет
Для полной функциональности необходимо также написать обработчики сообщений:
5. CM_ENABLEDCHANGED
6. CM_FONTCHANGED
7. WM_LBUTTONDBLCLK
Следует сразу учесть, что перерисовывается такая кнопка гораздо медленнее обыкновенной прямоугольной...
← →
Michael (2004-07-17 18:11) [3]Можно создать кнопки круглые с помощю Image
втавляеш круглый битмап в Image например синий.
Image трансперент = труе.
Только при нажатии мыши на Image надо отслеживать
цвет под курсором (это не состовит особых проблем).
Если цвет под курсором при нажатии совпадает с синим то происходит какое либо событие.
Также можно выполнять рисование для разных состояний кнопки
заменяя в Image рисунки.
← →
Cardinal © (2004-07-17 20:10) [4]>Если цвет под курсором при нажатии совпадает с синим то >происходит какое либо событие.
А можно воспользоваться теоремой Пифагора
← →
OSokin (2004-07-17 20:32) [5]А можно сделать компонент, перехватывающий wm_paint.
← →
faost © (2004-07-18 02:31) [6]Мож не мучится и просто воспользоваться компонентом HemisphereButton... Там и кнопки круглые, еще и красивые (с заливкой градиентной).
← →
k2kator (2004-07-19 02:56) [7]>HemisphereButton<
А где его найти то?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c