Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.06.2012, 13:24
Ришта Ришта вне форума
Прохожий
 
Регистрация: 04.06.2012
Сообщения: 3
Репутация: 10
По умолчанию Изменение изображения при наведении мышки

Добрый день! Пытаюсь изменить изображение при наведении курсора. Пыталась найти решение на этом форуме и в учебниках - не смогла. Программа выдаёт ошибку на "Image1". Что я упустила?

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
   if (X>=Image1.Left)and(Y>=Image1.Top)and(X<=Image1.Left+Image1.Width)and(Y<=Image1.Top+Image1.Height) then
      Image1.Picture.LoadFromFile('C:\Yellow.bmp')
   else
      Image1.Picture.LoadFromFile('C:\While.bmp');
end;

end.
Ответить с цитированием
  #2  
Старый 04.06.2012, 13:28
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Какую ошибку выдает-то? А Image1 у вас вообще существует?
Ответить с цитированием
  #3  
Старый 04.06.2012, 13:33
Ришта Ришта вне форума
Прохожий
 
Регистрация: 04.06.2012
Сообщения: 3
Репутация: 10
По умолчанию

Не узнаёт идентификатор. А Image1 существует.
Ответить с цитированием
  #4  
Старый 04.06.2012, 13:39
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

В коде что вы привели Image1 не существует
Ответить с цитированием
  #5  
Старый 04.06.2012, 13:44
Ришта Ришта вне форума
Прохожий
 
Регистрация: 04.06.2012
Сообщения: 3
Репутация: 10
По умолчанию

Попробовала удалить и создать ещё раз - появился в коде. Только всё равно не работает так, как задумывалось...
Ответить с цитированием
  #6  
Старый 04.06.2012, 13:53
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Может, наконец опишите, как должно работать и как работает?
Ответить с цитированием
  #7  
Старый 04.06.2012, 14:08
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Цитата:
Сообщение от Ришта
Код:
      Image1.Picture.LoadFromFile('C:\While.bmp');  я полагаю должно быть White (белый)

Делу не поможет, но ошибку пунктуации надо исправить
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.

Последний раз редактировалось Kailon, 04.06.2012 в 14:12.
Ответить с цитированием
  #8  
Старый 04.06.2012, 14:21
PS11011010 PS11011010 вне форума
Новичок
 
Регистрация: 30.03.2012
Сообщения: 98
Репутация: 282
По умолчанию

Тут есть пример создания анимированной кнопки.
Ответить с цитированием
  #9  
Старый 04.06.2012, 14:47
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от Ришта
Код:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
   if (X>=Image1.Left)and(Y>=Image1.Top)and(X<=Image1.Left+Image1.Width)and(Y<=Image1.Top+Image1.Height) then
      Image1.Picture.LoadFromFile('C:\Yellow.bmp')
   else
      Image1.Picture.LoadFromFile('C:\While.bmp');
end;
это самый страшный говнокод какой я только видел
ты хоть осознаеш,что у тебя будет миллион раз в минуту грузится одна из этих картинок с диска
Ответить с цитированием
  #10  
Старый 04.06.2012, 16:31
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Цитата:
это самый страшный говнокод какой я только видел
Зачем так оскорблять работу человека?
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #11  
Старый 04.06.2012, 16:40
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

robt, я уже писал замечание. Многих посетителей форума раздражает твое неуважение к окружающим. Читай правила форума, часть III, и разговаривай корректно.
Kailon, robt обладает странным стилем общения, и к замечаниям не прислушивается. Возможно придется принимать меры.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 04.06.2012 в 16:43.
Ответить с цитированием
  #12  
Старый 04.06.2012, 16:57
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Цитата:
Возможно придется принимать меры.
Поддерживаю!
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #13  
Старый 04.06.2012, 18:09
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

а собственно все согласно правилам
еслиб я ее не уважал, то промолчал бы как некоторые, позволив и дальше считать себя программистом
или если она меня не уважает как пользователя то почему я должен?

Последний раз редактировалось robt, 04.06.2012 в 18:14.
Ответить с цитированием
  #14  
Старый 04.06.2012, 18:21
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

robt, ты хам. Если бы я тебя не уважал, я бы промолчал, позволив и дальше считать себя тем, кем ты там себя считаешь.
Ришта, попробуйте менять картинки в OnMouseMove Image, а не формы
Ответить с цитированием
  #15  
Старый 04.06.2012, 18:35
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от ChinYan
попробуйте менять картинки в OnMouseMove Image, а не формы
ахаха, оптимизация налицо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:25.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter