MFC
uses the resource handle of the main application to load the resource
template. If you have an exported function in a DLL, such as one that
launches a dialog box in the DLL, this template is actually stored in
the DLL module. You need to switch the module state for the correct
handle to be used. You can do this by adding the following code to the
beginning of the function:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
This swaps the current module state with the state returned from AfxGetStaticModuleState until the end of the current scope.
If all your resources lies in the single DLL you can even change the default handle to the DLL handle with the help of AfxSetResourceHandle function.
No comments :
Post a Comment