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

Вниз

Кнопка произвольной формы   Найти похожие ветки 

 
Wog ©   (2006-04-14 22:06) [0]

ак сделать кнопку произвольной формы, хотябы например круглой.


 
Wog ©   (2006-04-14 22:21) [1]

Поправлюсь: Хотелбы обойтись без регионов, т.к. они превращают кнопку из "рехмерной" в двумерную (не видно процесса нажатия). А мне нужна круглая кнопка, при нажатии на которую будет видно что ее нажимают.


 
Gero ©   (2006-04-15 01:29) [2]

Используй картинки.


 
Wog ©   (2006-04-15 12:46) [3]

Как? )


 
mlm68 ©   (2006-04-17 12:25) [4]

Вставляешь на фотму TImage с рисунком кнопки, по событию mousedown меняешь картинку на другую, а по mouseup возвращаешь прежнюю


 
RzCoDer ©   (2006-04-17 19:36) [5]

Перехват прорисовки кнопки API OS и рисование своего варианта. Где то тут на сайте була статья про перехват прорисовки ProgressBar"a копай в ту сторону


 
Чапаев ©   (2006-04-18 12:05) [6]


> Вставляешь на фотму TImage с рисунком кнопки, по событию
> mousedown меняешь картинку на другую, а по mouseup возвращаешь
> прежнюю

Беда только в том, что рисунок всё равно прямоугольный, то есть можно кликнуть снаружи "полезной части" кнопки.


 
antonn ©   (2006-04-18 12:37) [7]

Чапаев ©   (18.04.06 12:05) [6]
Беда только в том, что рисунок всё равно прямоугольный, то есть можно кликнуть снаружи "полезной части" кнопки.

можно задействовать маску (чернобелую, например)


 
mlm68 ©   (2006-04-19 09:29) [8]


> Беда только в том, что рисунок всё равно прямоугольный,
> то есть можно кликнуть снаружи "полезной части" кнопки.

при нажатии отслеживать координаты курсора, если он не попал на кнопку - то значит не нажимать


 
Чапаев ©   (2006-04-19 12:30) [9]


> можно задействовать маску (чернобелую, например)


> при нажатии отслеживать координаты курсора, если он не попал
> на кнопку - то значит не нажимать

Совсем без регионов не получится, насколько я понимаю. Придётся создавать регион и при движении мыши PtInRect() вызывать.


 
Чапаев ©   (2006-04-19 12:32) [10]

Пардон. PtInRgn() имелась в виду.


 
Ардж   (2006-04-26 14:01) [11]

Берёшь компонент Image, загружаешь нужный рисунок, ставишь у компонента свойство transparent в true. В событие onMouseDown пишешь:
with Image1 do
begin
left:=left+1;
top:=top+1;
end;
Затем в событие onMouseUp
with Image1 do
begin
left:=left-1;
top:=top-1;
end;
Таким образом изображение будет менять своё положение как обычная кнопка. Если тебя не устраивает такой способ то создай себе шаблон.
Например берёшь обычную панель, бухаешь на неё Image, ставишь для панели нужный регион, а всё остальное без изменений.


 
pushkin42 ©   (2006-05-13 17:57) [12]

А можно ведь и динамически грузить из файлов на одну имагу.
А если надо определённый кусок задействовать - PixelsAt[X, Y] - пожалуйста:)



Страницы: 1 вся ветка

Текущий архив: 2006.06.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.062 c
2-1149139137
zorik
2006-06-01 09:18
2006.06.18
Как програмно добавить (удалить) язык на языковую панель?


1-1147086844
yahaha
2006-05-08 15:14
2006.06.18
Отловить события (TWebbrowser)


15-1148604949
Галинка
2006-05-26 04:55
2006.06.18
Началось... Правда пок ане в России


15-1148230125
RUNaum
2006-05-21 20:48
2006.06.18
psql и че-то не допирает...


15-1147329255
pavel_guzhanov
2006-05-11 10:34
2006.06.18
23.05.2006 Москва. Borland Developers Studio 2006: продуктивность