On Feb 14, 2006, at 4:28 PM, Dr Gerard Hammond wrote:
At 8:18 AM -0700 14/2/06, Joseph J. Strout wrote:
At 9:13 AM -0500 2/14/06, Michael wrote:
Taking this a little further, if I were to create an array of push
button
control objects, is there any way to programmatically assign
different
actions to the buttons in the array?
There is, actually, though it's a bit obscure. The PushButton class
implements the ActionSource interface, which means that it has an
addActionNotificationReceiver method. This method takes, as a
parameter, any object that implements the actionNotificationReceiver
interface. So you can:
1. Create a class that has "actionNotificationReceiver" among its
interfaces. Such a class will therefore have a PerformAction method.
2. On your new pushbutton (let's call it pb), add an instance of your
class (let's call it thing) like so:
pb.addActionNotificationReceiver thing
3. There's no step three! Now, whenever somebody clicks the pb
button, thing's PerformAction method will be called.
This isn't necessarily the best way to solve your real problem
(another way would be to keep a dictionary that maps pushbuttons to
some sort of action, and simply look 'me' up in the button's Action
event and act accordingly), but it certainly is a nifty bit of RB
trivia, wouldn't you say?
Best,
- Joe
How do we find out what interfaces the built-in classes implements?
Are these documented at all?
--
There is my attempt at documenting them at <http://www.declareSub.com/>.
--------------
Charles Yeomans
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>