mdid Цитата: проблема в том что подменю которое открывается тоже должно быть кликабельным
Не вопрос! Если как у меня в примере основные пункты меню созданы в режиме разработки, и им назначен обработчик, то можно его так написать:
Цитата: procedure TForm3.N151Click(Sender: TObject);
begin
// этот обработчик прописан в инспекторе объектов для всех основных пунктов N111 N121 N131 N141 N151
if (Sender is TMenuItem) then
if (Sender as TMenuItem).Count = 0 then
бла-бла-бла;
end;
Вместо N151Click можно прописать в инспекторе твой ReplaceItem.
И, кстати, это очень даже НЕПЛОХАЯ мысль - такой обработчик можно назначать всем без разбора пунктам и подпунктам - и всё, что вместо
бла-бла-бла, будет работать только для пунктов, не имеющих подпунктов!
Если же и основные пункты меню создаются динамически, то поступаешь так же, как я в примере для второго субменю, т.е. считай что субменю первого уровня моего примера - это твое меню. Само собой, это только пример, будут нюансы, но все реализуемо
Цитата: есть вариант что сама ОС делает клик при открытии подменю
Неа, делать ОС больше нечего
Опять же ссылаюсь на свой пример - у меня не происходит клика на подпунктах, у которых есть свои подпункты. Так что - не делает она ничего! Она делает только то, что ты ей расскажешь делать.