Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

Как создать круглую кнопку в делфи???   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-1090118995
НовиЧок
2004-07-18 06:49
2004.08.01
Поиск текста


14-1089790837
Hint
2004-07-14 11:40
2004.08.01
Забыл термин. Напомните?


1-1089986059
NJoe
2004-07-16 17:54
2004.08.01
TImage


1-1090233757
Саша
2004-07-19 14:42
2004.08.01
Отключение клавиши ПУСК


1-1090408113
Draught
2004-07-21 15:08
2004.08.01
как проверить является ли введеный текст числом?