Jump to content

Recommended Posts

Posted

При наведении на кнопку отображаем popupMenu.

procedure TMainForm.btnJornalsMouseEnter(Sender: TObject);
begin
    with TExtPopup(pmJornals).MenuControl.JSInterface do
    begin
        JSCall('showBy', [btnJornals.JSControl]);
        JSCall('setPosition', [btnJornals.Left, btnJornals.Top + btnJornals.Height]);
    end;
end;

Как сделать закрытие popupMenu после смены фокуса?

Posted
16 hours ago, x11 said:

у кнопки есть событие OnMouseLeave, в нем и скрывайте меню

Потом фокусе popupMenu - мы на нем должны закрыть 

Posted
1 hour ago, OlegTimkiv said:

Потом фокусе popupMenu - мы на нем должны закрыть 

Здравствуйте, 

Вы решили "проблему"? 

Posted
18 hours ago, OlegTimkiv said:

Как сделать закрытие popupMenu после смены фокуса?

Уточните пожалуйста этот момент.

Posted
2 hours ago, OlegTimkiv said:

Project017.avi

Это решение для меню (mouseout), на данный момент:

procedure TMainForm.UniFormReady(Sender: TObject);
begin
  with TExtPopup(UniPopupMenu1).MenuControl.JSInterface do
  begin
     JSAddListener('afterrender', 'function(){'+
          'var addMenuMouseOut = function(menu) {'+
          'menu.on({'+
          '    mouseleave: function() {'+
          '        this.hide();' + TExtPopup(UniPopupMenu1).MenuControl.JSName +'.hide();'+
          '    }'+
          '});'+
          'menu.items.each(function(item) {'+
          '    if (item.menu) {'+
          '        addMenuMouseOut(item.menu);'+
          '    }'+
          '});'+
          '}; addMenuMouseOut('+ TExtPopup(UniPopupMenu1).MenuControl.JSName +');'+
      '}')
  end;
end;

 

Posted
49 minutes ago, Sherzod said:

Это решение для меню (mouseout), на данный момент:


procedure TMainForm.UniFormReady(Sender: TObject);
begin
  with TExtPopup(UniPopupMenu1).MenuControl.JSInterface do
  begin
     JSAddListener('afterrender', 'function(){'+
          'var addMenuMouseOut = function(menu) {'+
          'menu.on({'+
          '    mouseleave: function() {'+
          '        this.hide();' + TExtPopup(UniPopupMenu1).MenuControl.JSName +'.hide();'+
          '    }'+
          '});'+
          'menu.items.each(function(item) {'+
          '    if (item.menu) {'+
          '        addMenuMouseOut(item.menu);'+
          '    }'+
          '});'+
          '}; addMenuMouseOut('+ TExtPopup(UniPopupMenu1).MenuControl.JSName +');'+
      '}')
  end;
end;

 

Спасибо! Всё работает!   

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