The Windows Control Panel is the ideal way to allow a user to alter settings for an application that runs in the background, or automatically. But what are control panel applets and how do you write one? Well, after some exploring in the MSDN I discovered that control panel applets are just standard DLLs with a particular set of entry points and a .cpl extension. Place such a file in the Windows System directory and the next time you start up control panel your applet will be there. Having discovered what I needed to know I set about writing a control panel applet and once I'd done that, I turned the bulk of the code into a mini applet framework so I wouldn't have to write it ever again!
To implement your control panel applet all you need to do is the following:
- include "ControlApplet.hpp" and publicly derive a class from CJBControlPanelApplet.
- call the CJBControlPanelApplet constructor and pass resource IDs for the applet's icon, name and description.
- implement the pure virtual function OnDoubleClick() - this is where your applet becomes live and can display a dialog or whatever.
- create an instance of your applet class at global scope.
- link with ControlApplet.cpp and include ControlApplet.def in your project. ControlApplet.cpp gives you the implementation of CJBControlPanelApplet and suitable DllMain() and CPlApplet() DLL entry point functions.
So that this article and code can be kept up to date more easily I've provided a link to where the article is located on my own web pages. Read the full article and download the source code.
Last updated: 27 June 1998