![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Насчёт КРУГЛЫХ картинок
SleD © (2002-06-02 14:13:00)Вот никак не пойму. Что, круглые картинки на кнопки сделать невозможно? Ведь посмотрите где-угодно:
Кнопка-картинка круглая, а если присмотреться, то она квадратная или прямоугольная. Т.е. при наведении чуть ниже кнопки она всё равно реагирует. Что, разве нет какого-нибудь алгоритма, чтобы было так, если круглая, то круглая и при наведении, реагировала бы только тогда когда наводят на зону имеенно этого круглого рисунка, а не ниже не выше. В том же XP, кнопка ПУСК. Вроде как неправильная прямоугольная, но на самом деле - прямоугольная картинка.
KilkennyCat (2002-06-04 01:55:00) [1]а еще можно использовать круглые мониторы, и тем, у кого есть осциллографы, будет очень даже круто жить :)
Проблема квадратности исходит из того, что пиксел изначально рассматривается как квадратная точка, массивы пикселов тоже могут быть только прямоугольниками. Что же касается программистов от микрософт, то нечего на них ругаться - в других системах то же самое. Координатная система едина - ширина, высота, глубина, а не впуклость, выпуклость, запуклость...
И им это несложно сделать. Спорю, что они и сделали какой-нить юнит для себя, один раз. И используют. Так что пишите для себя юнит и тоже пользуйте.
SleD (2002-06-03 16:52:00) [2]Так вот и я про то. Неужели программистам крупных компаний (типа Microsoft и пр.) сложно один раз сделать, а потом наслаждаться красоте и удобству (и новизне). Хотя чем они там думают...:-))
MrAngel (2002-06-02 15:24:00) [3]Здесь дадо отслеживать клик мышью на кнопке если она (курсор) находится в регионе где картинка то можно кнопку нажимать
SleD (2002-06-02 15:17:00) [4]Да нет, я не про это. Просто во всех программах, если имеются круглые кнопки-рисунки, то на самом деле они квадратные. Неужели программисты ничего не могут придумать?
olookin (2002-06-02 14:57:00) [5]procedure TForm1.Button1Click(Sender: TObject);
var h: hrgn;
begin
h:=createellipticrgn(0,0,50,50);
setwindowrgn(button1.handle,h,true);
end;
За пределами кружка кнопка НЕ нажимается
MrAngel (2002-06-02 14:33:00) [6]Это надо с регионами работать