Jump to content

Recommended Posts

Posted

I am guessing whether is it possible to add a ClientEvent AFTER the component construction and render. For instance: add (or remove) a mouseover effect to a panel after the user clicks on a button.

void __fastcall TForm1::ButtonClick(TObject* Sender)
{
   Panel1->ClientEvents->ExtEvents->Values[L"mouseover"]=A_FUNCTION_BODY;
}
Posted

Hi,

 

Try:

procedure pMouseEnter(Sender: TObject);
procedure TMainForm.pMouseEnter(Sender: TObject);
begin
  //
end;

Use:

UniPanel1.OnMouseEnter := nil

UniPanel1.OnMouseEnter := pMouseEnter;

Best regards.

Posted

Hi Delphi Developer,
 

I am afraid that in my case using ajax events is not an option. I have to use tiny javascript-only events (where possible), in order to keep network usage to a reasonable level.

Posted

Then try this:

uses ... uniGUIJSInterface;
procedure TMainForm.UniButton1Click(Sender: TObject);
begin
  IUniJSInterface(UniPanel1).JSAddListener('mouseover', 'function(sender){ ... }');
end;
Posted

Ok that looks very promising.

If I call JSAddListener multiple times, do the events cancel out?

 

If not:

How can I remove all the mouseover events added that way?

Posted

Hi,

 

If I call JSAddListener multiple times, do the events cancel out?

 

Yes, it can be done...

 

 

How can I remove all the mouseover events added that way?

 

For example (JS code):

MainForm.UniPanel1.events.mouseover.listeners = [];

Use:

uses ... uniGUIJSInterface;
procedure TMainForm.UniButton1Click(Sender: TObject);
begin
  IUniJSInterface(UniPanel1).JSAssign('events.mouseover.listeners', '[]');
end;

Best regards.

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