Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.04.24;
Скачать: [xml.tar.bz2];

Вниз

Курсор над компонентом и форма компонента Image.   Найти похожие ветки 

 
volkafff ©   (2011-01-20 17:53) [0]

Очень прошу помощи в решении следующих проблем:
1)Мне нужно сделать так,чтобы когда курсор находится над кнопкой,он принимал форму крестика,а когда вне кнопки-форму стрелки.Для того,чтобы изменить форму на крестик понадобится событие кнопки "OnMouseMove". А для того,чтобы поменять на стрелку, что сделать?То есть как обработать "уход" курсора с компонента(Заранее прошу описать именно уход с компонента,а не изменение его в событии OnMouseMove формы!)

2)Есть чёрно-белый "макет" кнопки(чёрный треугольник).Если свойству "Transparent" присвоить значение "true" та часть,которая окрашена белым станет нивидимой.Но нажиматься(то есть реагировать на событие OnClick) эта часть будет! Как сделать так,чтобы форма компонента "была равна" форме картинки?

3)Относится ко второй проблеме: Координаты левого верхнего угла объекта-это и есть координаты всего объекта(это "начальная точка").Если картинка-кнопка имеет треугольную форму, какая точка является "начальной"?


 
Ega23 ©   (2011-01-20 17:59) [1]


> Если картинка-кнопка имеет треугольную форму, какая точка
> является "начальной"?


Треугольник вписан в прямоугольник. Отсюда и пляши


 
volkafff ©   (2011-01-20 18:22) [2]


> Треугольник вписан в прямоугольник. Отсюда и пляши

(Смотрите второй вопрос.)
А вот мне нужно сделать так,чтобы треугольник был вписан в треугольник,змейка-в змейку и т.п


 
И. Павел ©   (2011-01-20 18:59) [3]

Если в первой проблеме киспользуется обычная кнопка, то у нее есть свойство TButton.Cursor, определяющее вид курсора над кнопкой.

Что касается второго вопроса: можно сделать вашу новую кнопку в виде окна и поработать с регионами. Ну или самостоятельно рассчитывать (как порекомендовали в [1]) - внутри треугольника находится мышка или нет (а это стандартный прием: считаете площадь трех треугольников, получившихся от точки курсора и углов исходного треугольника  если эта площадь равна площади вашего треугольника, то курсор внутри, иначе - снаружи).


 
Игорь Шевченко ©   (2011-01-20 19:04) [4]


> 2)Есть чёрно-белый "макет" кнопки(чёрный треугольник).Если
> свойству "Transparent" присвоить значение "true" та часть,
> которая окрашена белым станет нивидимой.Но нажиматься(то
> есть реагировать на событие OnClick) эта часть будет! Как
> сделать так,чтобы форма компонента "была равна" форме картинки?
>
>
> 3)Относится ко второй проблеме: Координаты левого верхнего
> угла объекта-это и есть координаты всего объекта(это "начальная
> точка").Если картинка-кнопка имеет треугольную форму, какая
> точка является "начальной"?


SetWindowRgn, PtInRegion


> 1)Мне нужно сделать так,чтобы когда курсор находится над
> кнопкой,он принимал форму крестика,а когда вне кнопки-форму
> стрелки.Для того,чтобы изменить форму на крестик понадобится
> событие кнопки "OnMouseMove". А для того,чтобы поменять
> на стрелку, что сделать?То есть как обработать "уход" курсора
> с компонента(Заранее прошу описать именно уход с компонента,
> а не изменение его в событии OnMouseMove формы!)


1. У наследника TControl есть свойство Cursor, его менять
2. Обрабатывать самостоятельно сообщение WM_SETCURSOR


 
HF-Trade ©   (2011-01-21 09:37) [5]

1. Дописать события OnMouseLeave и onMouseEnter, либо юзать TJvImage либо
менять Cursor при нахождении над TForm, TImage, либо...
2[4].



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

Форум: "Начинающим";
Текущий архив: 2011.04.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.003 c
15-1294912978
Андрей123
2011-01-13 13:02
2011.04.24
Подключение IP-камеры к телевизору


15-1294349396
Юрий
2011-01-07 00:29
2011.04.24
С днем рождения ! 7 января 2011 пятница


15-1294522195
Юрий
2011-01-09 00:29
2011.04.24
С днем рождения ! 9 января 2011 воскресенье


2-1295522746
cyber-pilot
2011-01-20 14:25
2011.04.24
Вопрос про работу эксепшенов


6-1236668556
К
2009-03-10 10:02
2011.04.24
EIdConnClosedGracefully Connection Closed Gracefully





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский