Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi | Image | OnMouseMove 
:(
    Опции темы
ReZuS
Дата 12.7.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.7.2010

Репутация: нет
Всего: нет



Народ подскажите пожалуйста как сделать чтобы при наведении курсора на компоненту image она исчезала, или при убирание корсара появлялась! Или наоборот при наведении курсора в определенные координаты появлялась и исчезала! Я вот думал с помощью свойства visibla и события OnMouseMove! Но что-то не выходит...
P.S. Только если можно поподробнее пожалуйста!!!
PM MAIL   Вверх
Keeper89
Дата 12.7.2010, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



1) Запомнить координаты и размеры изображения.
2) В MouseMove у Image убирать картинку, В MouseMove у объекта, на котором она находится проверять координаты для ее отобажения.


--------------------
PM MAIL WWW   Вверх
ReZuS
Дата 12.7.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.7.2010

Репутация: нет
Всего: нет



1) Ну вот допустим размер изображенииея 89х89,а координаты 0,360!
2) А здесь бы поподробнее пожалуйста! А то я совсем новичок:(
PM MAIL   Вверх
Frees
Дата 12.7.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



Код

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  x := x - Image1.Left;
  y := y - Image1.Top;
  if not((X in [0..10]) and (y in [0..10])) then
    Image1.Visible := true

end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if (X in [0..10]) and (y in [0..10]) then
    Image1.Visible := False;
end;



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
PsiMagistr
Дата 12.7.2010, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



Ну например так:

Код

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if X < 200 then Image.Visible := false
 else
   Image.Visible := true;
end;


Х - переменная хранящая горизонтальную координату мышки. Таким образом, если горизонталь превысит 200 единиц, картинка исчезнет. Во всех других случаях будем ее показывать. 


Это сообщение отредактировал(а) PsiMagistr - 12.7.2010, 15:22


--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
Frees
Дата 12.7.2010, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



~FoX~, если Image виден и возить над ним мышкой то MouseMove форме не будет приходить


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
~FoX~
Дата 12.7.2010, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 5
Всего: 68



Frees, Сори, я думал наобарот надо... )))) Удалил пост...


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
ReZuS
Дата 12.7.2010, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.7.2010

Репутация: нет
Всего: нет



Frees, все сделал как ты мне написал, но рекации ни какой:(
PM MAIL   Вверх
Frees
Дата 12.7.2010, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



Цитата(ReZuS @  12.7.2010,  17:51 Найти цитируемый пост)
Frees, все сделал как ты мне написал, но рекации ни какой:(

Image у тебя непосредственно на форме лежит? если нет то FormMouseMove должен быть у того контрола на котором лежит Image

Добавлено @ 14:55
эффект от моего примера такой - наводишь на левый верхний угол мышь картинка исчезла, убираешь мышь появляется


Это сообщение отредактировал(а) Frees - 12.7.2010, 14:55


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
ReZuS
Дата 12.7.2010, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.7.2010

Репутация: нет
Всего: нет



Хм...чтоб не путаться у себя в коде, даже создал новую чистую форму, добавил картинку в верхний левый угол и прописал твой код, и всё равно ни чего:(:(

Это сообщение отредактировал(а) ReZuS - 12.7.2010, 15:07
PM MAIL   Вверх
PsiMagistr
Дата 12.7.2010, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



Код

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if (x >= Img.Left) and (X<=Img.Left + Img.Width) and (Y>=Img.Top) and (Y<=Img.Top+img.Height)   then Img.Visible := true
  else Img.Visible := false;
end;


Вот. Если я правильно понял, что вы хотите. Теперь если мышь будет попадать в площадь картинки, она будет становиться видимой. Иначе - нет.

Можно даже так сделать:

Код

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Img.Visible := (x >= Img.Left) and (X<=Img.Left + Img.Width) and (Y>=Img.Top) and (Y<=Img.Top+img.Height);

end;


Это сообщение отредактировал(а) PsiMagistr - 12.7.2010, 15:15

Присоединённый файл ( Кол-во скачиваний: 19 )
Присоединённый файл  Proba.rar 86,98 Kb


--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
PsiMagistr
Дата 12.7.2010, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



Вот еще один вариант. теперь если:

Навести мышь на картинку - она исчезает. Убрать мышь из координатной "зоны" невидимой картинки - она появляется.


Присоединённый файл ( Кол-во скачиваний: 26 )
Присоединённый файл  Proba.rar 453,11 Kb


--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
ReZuS
Дата 12.7.2010, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.7.2010

Репутация: нет
Всего: нет



Вообщем все полусилось, спасибо за помощь! Но появилась проблема, у меня на форме три компонента image, одна на всю форму и две других маленькие одинаковых размеров, и одна компонента под другой! И вот чтобы при наведение курсора верхняя компонента image исчезала, но я делаю все как надо но она почему то не исчезает!!! Посмотрите и помогите еще пожалуйста!!!

Присоединённый файл ( Кол-во скачиваний: 25 )
Присоединённый файл  rar.rar 240,45 Kb
PM MAIL   Вверх
PsiMagistr
Дата 12.7.2010, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



Погодите немного. Я постараюсь Вам помочь.

Просмотрите этот вариант. Так же я убрал из описания один модуль. В дельфи 6 он не открывается.

Итак:

При наведении мыши на картинку она исчезает.

При убирании указателя с зоны невидимой картинки она появляется

RezuS, скачайте исполняемый файл со второй страницы.



Это сообщение отредактировал(а) PsiMagistr - 12.7.2010, 18:04

Присоединённый файл ( Кол-во скачиваний: 23 )
Присоединённый файл  Proba2.rar 1,69 Kb


--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
ReZuS
Дата 12.7.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.7.2010

Репутация: нет
Всего: нет



Цитата(PsiMagistr @ 12.7.2010,  17:23)
Погодите немного. Я постараюсь Вам помочь.

Просмотрите этот вариант. Так же я убрал из описания один модуль. В дельфи 6 он не открывается.

Итак:

При наведении мыши на картинку она исчезает.

При убирании указателя с зоны невидимой картинки она появляется.

А почему архив такой маленький? Он у меня не открывается:(
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.