Jump to content

Recommended Posts

Posted

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

 

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

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

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

 

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

Posted
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;

?

Posted

Меню не закрывается.

ShowMessage не отображается.

Пункт с ID = 2 присутствует.

Screenshot_22.jpg

Posted

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

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

Posted
2 minutes ago, x11 said:

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

Возможно Action.

Posted

Также, можете попробовать использовать этот код, для всех 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;

 

Posted
2 hours ago, Sherzod said:

Возможно Action.

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

Posted
1 minute ago, x11 said:

значит нужно либо глобальное свойство HideOnClick

Попробуйте вышеуказанное решение.

Posted

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

popupMenu.Visible := False;

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

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...