Jump to content

TUniMenuButton + TUniPopupMenu


Dinkin

Recommended Posts

Добрый день.

Возможно ли отловить событие закрытие меню?...Использую TUniPopupMenu в качестве выпадающего фильтра для таблиц, и хотел при закрытии перезапускать запрос к БД(знаю что есть встроенные функционал фильтров в таблицах, но они не подходят).

Link to comment
Share on other sites

@Dinkin

On 11/10/2023 at 8:30 PM, Sherzod said:

JSAddListener('hide', 'function(me){Ext.defer(function(){if (me._clicked == false) {ajaxRequest('+ UniPanel1.JSName +', "hidemenu", [])}}, 100)}');

Тогда Вы можете использовать либо "designTime", либо "runTime".

 

В designTime:

1.1. UniMenuButton1.ClientEvents.ExtEvents ->

function menuhide(sender, menu, eOpts)
{
    ajaxRequest(sender, "hidemenu", []);
}

image.png.fab32a60ee2f4f44526c2a8ecb604e21.png 

 

или В runTime:

1.2. Form OnCreate event ->

procedure TMainForm.UniFormCreate(Sender: TObject);
begin
  UniMenuButton1.ClientEvents.ExtEvents.Values['menuhide'] := 'function menuhide(sender, menu, eOpts){ajaxRequest(sender, "hidemenu", []);}';
end;

 

2. UniMenuButton1 OnAjaxEvent ->

procedure TMainForm.UniMenuButton1AjaxEvent(Sender: TComponent;
  EventName: string; Params: TUniStrings);
begin
  if EventName = 'hidemenu' then
  begin
    //
  end;
end;

 

  • Like 1
Link to comment
Share on other sites

Заметил если TUniMenuButton, по клику вызывать меню (так как кнопка визуально делится на правую и левую часть, а меню вызывается только по клику с права) так

void __fastcall TGroupFrame::UniMenuButtonClick(TObject *Sender)
{
    // Принудительно показываем меню (Так как по нажатию левой части картинки, меню не отображается)
    Menu->Popup(0,UniMenuButton->Height,UniMenuButton);
}
//---------------------------------------------------------------------------

, то меню выходит с задержкой в 1-2 секунды, но это мелочи

Link to comment
Share on other sites

1 hour ago, Dinkin said:

Заметил если TUniMenuButton, по клику вызывать меню (так как кнопка визуально делится на правую и левую часть, а меню вызывается только по клику с права) так

Этот пост может Вам помочь:

 

  • Like 1
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...