
Introduction
This article was written to illustrate how to implement the 'Java type' listener method in MFC. This small article demonstrates how you can take advantage of this method and how you can use it in your code. This is my first project, so if there is anything wrong with it or if there is anything better that can be implemented, please do mail me at el_josephrthomas@yahoo.com.sg. In general, this code can also be roughly seen as the implementation of the 'Observer Pattern'. You can get more information on the observer pattern from the Houston's page and Wiki's page.
Background
There is currently an article present in CodeProject which implements the 'Observer Pattern' to illustrate a treadmill, but I have written this article purely to illustrate the 'Java Listener method' and nothing else.
Using the code
When you need to make a class an observer to the event source, you need to inherit your class from CJrtEventListener
and implement the EventHandler
method.
EventHandler
is the method where you want the particular action to be performed. For e.g.: In the project, I have four 'Listeners', each 'Listener' wants to perform a different action when the source changes. So all the 'Listeners' have a different EventHandler
function.
The 'Source' to which the 'Listeners' are supposed to listen to, is the edit box with a 'Change Event Source' button next to it.
The buttons in the control panel (at the top), controls the 'Listeners'. When the control panel button in switched on, the respective 'Listeners' start to listen for the source and when it's switched off, the respective 'Listeners' stops listening to the source. These buttons also show the state of the respective 'Listener'.
CJrtEvent
is the event class that is passed to the 'Listeners' so that they know that this is the event occurred, and update themselves.
CJrtEventSource
is the source, which means that this is what your 'Listeners' will be listening for.
All the 'Event class' and the 'Listener class' are kept decoupled, so both of them don't have to know about each others existence.
Points of interest
While writing this article I came to know of the mechanics of how the 'Java Listeners' work. Actually I needed to implement the Java 'Listening' method in my MFC project. I asked my teacher and he said that since MFC does not provide a 'Listener' like Java, I'll have to make my own. So this project is what I've come up with
Acknowledgments
Thanks to my teacher Dr. Zhang Binglu for guiding and helping me.
Conclusion
Well, at last if you think this article is useful to you, perhaps I can upgrade it to use C# and Windows forms.