Jump to content

TUnimMenu не работает событие OnClick


x11

Recommended Posts

Т.к. у TUnimMenu отсутствует свойство(метод) HideOnClick, то я решил воспользоваться событием TUnimMenu.OnClick.

 

procedure TfmmMyObjects.popupMenuClick(Sender: TUnimMenuItem);
begin
  popupMenu.Visible := False;
end;

Но меню не скрывается.

Приходится дописывать строку (popupMenu.Visible := False) у каждого пункта меню.

 

P.S. Если есть метод Show, то почему бы не добавить метод Hide?

Link to comment
Share on other sites

9 hours ago, x11 said:

Но меню не скрывается.

Приходится дописывать строку (popupMenu.Visible := False) у каждого пункта меню.

procedure TMainmForm.UnimMenu1Click(Sender: TUnimMenuItem);
begin
  if Sender.MenuId = 2 then
    Close
  else
  begin
    ShowMessage(Sender.Caption);
    Sender.Parent.Visible := False;
  end;
end;

?

Link to comment
Share on other sites

В том примере OnClick работает.

Тогда вопрос, а что может мешать работать событию OnClick у меня  в приложении?

Link to comment
Share on other sites

Также, можете попробовать использовать этот код, для всех Item'ов:

procedure TMainmForm.UnimFormReady(Sender: TObject);
begin
  UniSession.AddJS(
    'Ext.getBody().addListener("click", function(e, t) {'+
    '      if (Ext.getCmp(t.getAttribute("data-componentid")).parent) {'+
    '          Ext.getCmp(t.getAttribute("data-componentid")).parent.hide();'+
    '      }'+
    '  }, null, {'+
    '      delegate: ".x-actionsheet-body-el button"'+
    '  });'
  );
end;

 

Link to comment
Share on other sites

2 hours ago, Sherzod said:

Возможно Action.

значит нужно либо глобальное свойство HideOnClick для всего меню, либо для каждого отдельного пункта.

Link to comment
Share on other sites

Честно, говоря, мне легче добавить в каждый пункт меню по строке

popupMenu.Visible := False;

И в будущем надеяться, что разработчики добавят HideOnClick, чем нагромождать форму дополнительным JS кодом.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...