![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Check в MainMenu и в PopupMenu [D7, WinXP]
Dmitry_04 © (2005-02-14 09:40:00)Во время запуска программы у меня в MainMenu и в PopupMenu добавляются пункты меню.
var
Item:TMenuItem;
...
repeat
Item:=TMenuItem.Create(Self);
with Item do
begin
Caption:=s;
AutoCheck:=true;
RadioItem:=true;
GroupIndex:=2;
end;
N1.Add(Item);
Item:=TMenuItem.Create(Self);
with Item do
begin
Caption:=s;
AutoCheck:=true;
RadioItem:=true;
GroupIndex:=3;
end;
PopupMenu1.Items.Add(Item);
N1 это пункт в MainMenu в который добавляеются новые пункты... А как мне сделать, чтобы при нажатии в MainMenu на один из этих пунктов в PopupMenu он тоже становился Check и наоборот, при нажатии в PopupMenu на пункт, в MainMenu он тоже становился Check? Помогите пожалуйста, очень нужно...
stone (2005-02-14 17:20:00) [1]
> А как мне сделать, чтобы при нажатии в MainMenu на один
> из этих пунктов в PopupMenu он тоже становился Check и наоборот,
> при нажатии в PopupMenu на пункт, в MainMenu он тоже становился
> Check?
В этой ситуации лучше создвать TAction, которому присвоить нужный обработчик и свойства.
Далее при создании пунктов меню (любого) достаточно присваивать создаваемому пункту соответствующий TAction. В результате все изменения будут отржаться на всех элементах связанных с данным TAction.
ЗЫ. См. ActionList, ActionManager и примеры работы с ними.
stakan (2005-02-14 17:17:00) [2]По моему правильнее делать через ActionList
Fay (2005-02-14 15:40:00) [3]
var
i : Integer;
begin
for i := 0 to PopupMenu1.Items.Count - 1 do
if PopupMenu1.Items[i].Caption := TMenuItem(Sender).Caption then
PopupMenu1.Items[i].Checked := TMenuItem(Sender).Checked;
Dmitry_04 (2005-02-14 15:25:00) [4]Это-то понятно... Но как это присвоить? Как мне определить имя? Т.е.
имя.Cheched:=true;
Имя то я не знаю :(
Fay (2005-02-14 10:33:00) [5]2 Dmitry_04 (14.02.05 10:23) [2]
>> как сделать чтобы в PopupMenu пункт с такимже Caption-ом "1" стал Check?
Присвоить соотв. значение свойству Checked
Dmitry_04 (2005-02-14 10:23:00) [6]Да при нажатии... Я может немного непонятно написал... В MainMenu в пункте N1 пункты такие же как в PopupMenu. Вот например в MainMenu нажали на пункт с каким-то Caption-ом, например "1"(при нажатии он автоматически становится Check), как сделать чтобы в PopupMenu пункт с такимже Caption-ом "1" стал Check?
Cosinus (2005-02-14 10:04:00) [7]
OnClick???