Главная страница
    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.46 MB
Время: 0.035 c
1-1090381280
Vilux
2004-07-21 07:41
2004.08.01
Showmodal


14-1089634240
x0dz0r
2004-07-12 16:10
2004.08.01
Прошу помочь плиз


3-1089277222
:)
2004-07-08 13:00
2004.08.01
IB5


14-1089200045
Тимохов
2004-07-07 15:34
2004.08.01
Runtime пакеты.


3-1089031395
Artem03
2004-07-05 16:43
2004.08.01
"Упаковка" таблицы (физическое удаление записей из таблицы)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский