Цитата:
Сообщение от Linbo
Я не могу реализовать третий пункт...
|
1. Пользуемся тегами. Это я тебе как модератор говорю.
2. Не совсем понял задачу.
Т.е. пусть пользователь навел мышку на метку1. Она стала светло-красной.
а) Если он увел мышку не щелкнув по метке, что должно произойти?
Теперь пользователь щелкнул на метке1. Она стала темно-красной. При уводе мышки она такой и остается.
Теперь пользователь наводит мыша на метку2. Она становится светло-красной.
б) Что должно произойти с меткой1 в этот момент?
Ну и последнее. Пользователь шелкает по метке2.
в) Что должно произойти с меткой1?
Ну и на закуску.
г) Может ли быть раскрашено одновременно больше 1 (2) меток?
Как только ты ответишь на эти вопросы, то сразу поймешь как это реализовать. В принципе, ничто не мешает тебе сохранить указатель на выделенную (щелкнутую) метку и при шелчке по другой метке просто поменять цвет у этой сохраненной метки.
Код:
type
TForm1 = class(TForm)
Label1 : TLabel;
...
private
ClickedLabel : TLabel;
end;
procedure TForm1.FormCreate(Sender : TObject);
begin
ClickedLabel := Nil;
end;
procedure TForm1.LabelClick(Sender : TObject);
begin
If Assigned(ClickedLabel) Then ClickedLabel.Color := clBtnFace;
ClickedLabel := Sender As TLabel;
ClickedLabel.Color := clRed;
end;