From Xojo Documentation


The ActionSource interface is implemented by Timer, BevelButton and PushButton. An ActionSource object calls the PerformAction method of each ActionNotificationReceiver registered with it.

AddActionNotificationReceiver RemoveActionNotificationReceiver


If you implement this interface in your application, you must implement the methods with the parameters as shown here.


If you want to have a PushButton call PerformAction on an ActionNotificationReceiver then you would create a new class (perhaps ActionNotificationTest) that implements ActionNotificationReceiver. In the PerformAction method, you add the code you want to run when the button is pressed (and before PushButton.Action is called). For example:

MessageBox("PerformAction called.")

Now in the Open event handler for a PushButton, you can add your receiver:

Var action As New ActionNotificationTest

When the button is pressed, the MessageBox is displayed.