Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
ВнизCheck в MainMenu и в PopupMenu Найти похожие ветки
← →
Dmitry_04 (2005-02-14 09:40) [0]Во время запуска программы у меня в 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? Помогите пожалуйста, очень нужно...
← →
Cosinus © (2005-02-14 10:04) [1]
OnClick
???
← →
Dmitry_04 (2005-02-14 10:23) [2]Да при нажатии... Я может немного непонятно написал... В MainMenu в пункте N1 пункты такие же как в PopupMenu. Вот например в MainMenu нажали на пункт с каким-то Caption-ом, например "1"(при нажатии он автоматически становится Check), как сделать чтобы в PopupMenu пункт с такимже Caption-ом "1" стал Check?
← →
Fay © (2005-02-14 10:33) [3]2 Dmitry_04 (14.02.05 10:23) [2]
>> как сделать чтобы в PopupMenu пункт с такимже Caption-ом "1" стал Check?
Присвоить соотв. значение свойству Checked
← →
Dmitry_04 (2005-02-14 15:25) [4]Это-то понятно... Но как это присвоить? Как мне определить имя? Т.е.
имя.Cheched:=true;
Имя то я не знаю :(
← →
Fay © (2005-02-14 15:40) [5]
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;
← →
stakan © (2005-02-14 17:17) [6]По моему правильнее делать через ActionList
← →
stone © (2005-02-14 17:20) [7]
> А как мне сделать, чтобы при нажатии в MainMenu на один
> из этих пунктов в PopupMenu он тоже становился Check и наоборот,
> при нажатии в PopupMenu на пункт, в MainMenu он тоже становился
> Check?
В этой ситуации лучше создвать TAction, которому присвоить нужный обработчик и свойства.
Далее при создании пунктов меню (любого) достаточно присваивать создаваемому пункту соответствующий TAction. В результате все изменения будут отржаться на всех элементах связанных с данным TAction.
ЗЫ. См. ActionList, ActionManager и примеры работы с ними.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c