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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...