Суть в след.: при наведении на один из 3-х Shape' ов и его цвет изменяется на более яркий. Вроде все правильно, но нужного рез-ата нет.Помогите плз...
Код
procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Shape1.Brush.Color:=clMaroon; Shape2.Brush.color:=clOlive; Shape3.brush.Color:=clGreen; with (Sender as TShape).Brush do Case Color of clOlive: Color:=clYellow; clMaroon: Color:=clRed; clGreen: Color:=clLime; end;
Как работает?Может прикрепишь свой вариант? Алена, слишком много процедур
Добавлено через 1 мин. Кстати, если что, то вот мой.Мб я там что-то накуролесил 13.rar ( 3 килобайт )
Кол-во скачиваний: 376
Автор: Артемий2 21.03.2007 1:52
Ну у меня ТОЖЕ САМОЕ что у тебя, но все РАБОТАЕТ! Незнаю почему у тебя нет..
Автор: NTL 21.03.2007 1:55
Мистика какая-то Что же делать. Мб в настройках надо ч-н изменить?
Автор: Алена 21.03.2007 2:00
Цитата
слишком много процедур
Тебе шашечки, или ехать? (С)
А не работает у тебя - скорее всего потому, что ты не прописал метод Shape1MouseMove в ObjectInspector-е для оставшихся 2-х объектов... Так?
Автор: NTL 21.03.2007 2:06
Ну здесь как раз и проверяется, какой шейп выбран для выполнении это процедуры,точнее какой цвет у него
Код
procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); -------------------------------- with (Sender as TShape).Brush do Case Color of clOlive: Color:=clYellow; clMaroon: Color:=clRed; clGreen: Color:=clLime; end;
Добавлено через 1 мин.
Цитата(Алена @ 20.03.2007 22:00)
Тебе шашечки, или ехать? (С)
Да, и причем тут холодильник, я же не курю
Автор: Алена 21.03.2007 2:12
Цитата
Ну здесь как раз и проверяется, какой шейп выбран для выполнении это процедуры
Угу... Только вот программа-то и не знает, что при прохождении мыши над вторым и третьим шейпом надо вызвать этот метод. Если его вызвать, он заработает...
Ты проверь, есть ли у тебя ссылка на метод в Инспекторе (выбираешь Shape2, ObjectInspector вкладка Events, и смотри, есть ли метод, который связан с OnMouseMove).
Автор: NTL 21.03.2007 2:32
Ну не знаю. Вроде как не связан
Добавлено через 2 мин. Так что делать?
Автор: Алена 21.03.2007 2:35
Ну, так а я о чем тебе уже 5 постов говорю? Свяжи ... Выбери процедуру Shape1MouseMove из списка...
Не забудь про третий шейп тоже...
Автор: NTL 21.03.2007 2:39
Код
procedure TForm1.FormCreate(Sender: TObject); begin Shape2.OnMouseMove:=Shape1.OnMouseMove; Shape3.OnMouseMove:=Shape1.OnMouseMove end;
Добавлено через 44 сек. Другим способом нельзя связать?
Автор: Алена 21.03.2007 2:54
Цитата
Другим способом нельзя связать?
Я больше ничего не буду отвечать.. Ты не читаешь, что-ли?
Эскизы прикрепленных изображений
Автор: NTL 21.03.2007 3:04
Бе бе бе Сразу не могла скрин скинуть. Надо уметь правильно объяснять, ведь люди разные-то бывают Спасибо