git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| \section{\class{wxModule}}\label{wxmodule}
 | |
| 
 | |
| The module system is a very simple mechanism to allow applications (and parts of wxWidgets itself) to
 | |
| define initialization and cleanup functions that are automatically called on wxWidgets
 | |
| startup and exit.
 | |
| 
 | |
| To define a new kind of module, derive a class from wxModule, override the OnInit and OnExit functions,
 | |
| and add the DECLARE\_DYNAMIC\_CLASS and IMPLEMENT\_DYNAMIC\_CLASS to header and implementation files
 | |
| (which can be the same file). On initialization, wxWidgets will find all classes derived from wxModule,
 | |
| create an instance of each, and call each OnInit function. On exit, wxWidgets will call the OnExit
 | |
| function for each module instance.
 | |
| 
 | |
| Note that your module class does not have to be in a header file.
 | |
| 
 | |
| For example:
 | |
| 
 | |
| \begin{verbatim}
 | |
|   // A module to allow DDE initialization/cleanup
 | |
|   // without calling these functions from app.cpp or from
 | |
|   // the user's application.
 | |
| 
 | |
|   class wxDDEModule: public wxModule
 | |
|   {
 | |
|   DECLARE_DYNAMIC_CLASS(wxDDEModule)
 | |
|   public:
 | |
|       wxDDEModule() {}
 | |
|       bool OnInit() { wxDDEInitialize(); return true; };
 | |
|       void OnExit() { wxDDECleanUp(); };
 | |
|   };
 | |
| 
 | |
|   IMPLEMENT_DYNAMIC_CLASS(wxDDEModule, wxModule)
 | |
| \end{verbatim}
 | |
| 
 | |
| \wxheading{Derived from}
 | |
| 
 | |
| \helpref{wxObject}{wxobject}
 | |
| 
 | |
| \wxheading{Include files}
 | |
| 
 | |
| <wx/module.h>
 | |
| 
 | |
| \latexignore{\rtfignore{\wxheading{Members}}}
 | |
| 
 | |
| \membersection{wxModule::wxModule}\label{wxmodulector}
 | |
| 
 | |
| \func{}{wxModule}{\void}
 | |
| 
 | |
| Constructs a wxModule object.
 | |
| 
 | |
| \membersection{wxModule::\destruct{wxModule}}\label{wxmoduledtor}
 | |
| 
 | |
| \func{}{\destruct{wxModule}}{\void}
 | |
| 
 | |
| Destructor.
 | |
| 
 | |
| \membersection{wxModule::OnExit}\label{wxmoduleonexit}
 | |
| 
 | |
| \func{virtual void}{OnExit}{\void}
 | |
| 
 | |
| Provide this function with appropriate cleanup for your module.
 | |
| 
 | |
| \membersection{wxModule::OnInit}\label{wxmoduleoninit}
 | |
| 
 | |
| \func{virtual bool}{OnInit}{\void}
 | |
| 
 | |
| Provide this function with appropriate initialization for your module. If the function
 | |
| returns false, wxWidgets will exit immediately.
 | |
| 
 |