![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Menu [D7, XP]
hprx © (2007-08-27 22:30:00)Здравствуйте. В меню имеется подменю (около 10 сторок). При выборе одного возле него должна ставиться галочка (Checked:=True), а прошлого убираться. Конечно, можно написать очень много такого типа:
procedure TForm1.N1Click(Sender: TObject);
begin
N1.Checked:=True;
N2.Checked:=False;
N3.Checked:=False;
............
end;
procedure TForm1.N2Click(Sender: TObject);
begin
N1.Checked:=False;
N2.Checked:=True;
N3.Checked:=False;
............
end;
procedure TForm1.N3Click(Sender: TObject);
begin
N1.Checked:=False;
N2.Checked:=False;
N3.Checked:=True;
............
end;
и так далее...
Но может есть более рациональный способ?
@!!ex (2007-08-27 23:46:00) [1]> [7] hprx (27.08.07 23:45)
Анатолию спасибо, он на это указал, а не я. Я всего лишь расписал.
hprx (2007-08-27 23:45:00) [2]Спасибо @!!ex
@!!ex (2007-08-27 23:18:00) [3]> [4] hprx (27.08.07 22:46)
Выставляешь элементам свойство RadioItem(где оно - смотри в хелпе), и всем элементам, между которыми должно переключаться, нужно выставить одинаковый GroupIndex, по моему. Хотя может он по другому называеться, копай в хелпе.
Anatoly Podgoretsky (2007-08-27 23:05:00) [4]> hprx (27.08.2007 22:46:04) [4]
Это свойство TMenuItem
hprx (2007-08-27 22:46:00) [5]А что это за свойство RadioItem?
@!!ex (2007-08-27 22:37:00) [6]> [2] Anatoly Podgoretsky © (27.08.07 22:35)
Ну да, подумал об этом, но автору то нужно именно так.. хотя может у меня телепатор сломался...
Личноя пользуюсь приведенным способом для снятия галочек в списке...
Anatoly Podgoretsky (2007-08-27 22:35:00) [7]> @!!ex (27.08.2007 22:33:01) [1]
Нормальные герои всегда идут в обход.
RadioItem
@!!ex (2007-08-27 22:33:00) [8]1)
Вынести в отдельную процедуру снятие галочек со всех элементов.
И при клике на элементе вызывать это процедурку и ставить галку на элемент.
2) Хранить указатель на контрол, на котором сейчас галка, при клике снимать с него галку, ставить галку на выбранный и менять указатель на него.
Лично я пользуюсь первым вариантом.