Combining Images with Regions (C++ 5.0 and later)
Take the following steps to start a project and to add some code that combines two images with a region:
| 1. | Start a new project as follows: | |
| 
 | Run Microsoft Visual C++ 5.0, select the File >New menu option, and do the following: | |
| 
 | a. | Click the Projects tab. | 
| 
 | b. | Select MFC AppWizard (exe) as the project type | 
| 
 | c. | In the Project name text box, specify tutor. | 
| 
 | d. | In the Location text box, specify the path of the project. | 
| 
 | e. | Click the OK button. | 
| 2. | In the Step 1 dialog box, do the following: | |
| 
 | a. | Select Dialog based. | 
| 
 | b. | Click the Next button. | 
| 3. | In the Step 2 of 4 dialog box, do the following: | |
| 
 | a. | Ensure that About Box is selected. | 
| 
 | b. | Ensure that 3D Controls is selected. | 
| 
 | c. | Select ActiveX Controls | 
| 
 | d. | Click the Next button. | 
| 4. | In the Step 3 of 4 dialog box, do the following: | |
| 
 | a. | For comments, ensure that Yes, Please is selected. | 
| 
 | b. | For how to use the MFC library, select Use MFC in a Shared DLL. | 
| 
 | c. | Click the Next button. | 
| 5. | In the Step 4 of 4 dialog box, just click Finish. | |
| 6. | Read New Project Information, and click OK. (The AppWizard creates the project files and opens the project.) | |
| 7. | Add #import and #include statements to your program so you can access the LEAD COM constants and classes: | |
| 
 | a. | In the Project Workspace, click the FileView tab. | 
| 
 | b. | Double-click the tutor files folder to open it. | 
| 
 | c. | Double-click the Header Files folder to open it. | 
| 
 | d. | Double-click the StdAfx.h file to edit it. | 
| 
 | e. | Add the following lines to the end of the file (keep in mind, you may have to change the path to where the dll's reside): | 
#import "c:\\winnt\\system32\\ltrvr14n.dll"  no_namespace, named_guids
#import "c:\\winnt\\system32\\ltr14n.dll"  no_namespace, named_guids
#import "c:\\winnt\\system32\\ltrio14n.dll" no_namespace, named_guids, exclude("LoadResizeConstants")
#import "c:\\winnt\\system32\\ltrpr14n.dll" no_namespace, named_guids
| 
 | f. | In the Project Workspace, click the FileView tab. | 
| 
 | g. | Double-click the tutor files folder to open it. | 
| 
 | h. | Double-click the Header Files folder to open it. | 
| 
 | i. | Double-click the tutorDlg.h file to edit it. | 
| 
 | j. | Add the following lines to the top of the file: | 
#include "leadraster.h"
| 8. | Add a LEAD RasterView control to the main window as follows: | |
| 
 | a. | In the Project Workspace, click the ResourceView tab. | 
| 
 | b. | Double-click the tutor resources folder to open it. | 
| 
 | c. | Double-click the Dialog folder to open it. | 
| 
 | d. | Double-click IDD_TUTOR_DIALOG to design the form. | 
| 
 | e. | Select the TODO... text control; then press the Delete key to delete it. | 
| 
 | f. | From the main menu, select Project > Add to project > Components and Controls. (The Component Gallery appears.) | 
| 
 | g. | Click the Registered ActiveX Contols. | 
| 
 | h. | Double-click the LEAD Raster View Control (14.5) icon. (The Confirm Classes dialog box appears.) | 
| 
 | i. | Ensure that CLEADRasterView, CLEADRaster, and CPicture are checked. | 
| 
 | j. | Click OK to complete the selection; then click Close to close the Component Gallery. (The LEAD RasterView control appears in the Controls toolbar.) | 
| 
 | k. | 
 | 
| 
 | l. | Use the right mouse button to edit the properties of the new LEAD RasterView control. | 
| 
 | m. | Change the ID to IDC_LEADRASTERVIEW1. | 
| 
 | n. | 
 | 
| 
 | o. | Use the right mouse button to edit the properties of the new LEAD RasterView control. | 
| 
 | p. | Change the ID to IDC_LEADRASTERVIEW2. | 
| 
 | q. | Ensure that Visible property is unchecked. | 
| 9. | Press Ctrl-F4 to close all windows back to the Project Workspace. | |
| 10. | Do the following to add m_LEADRasterView1 and m_LEADRasterView2 to the CTutorDlg class and link the variables to the LEAD RasterView controls using dynamic data exchange: | |
| 
 | a. | Press Ctrl-W. (The MFC ClassWizard dialog box appears.) | 
| 
 | b. | Click the Member Variables tab. | 
| 
 | c. | In the Class Name box, select CTutorDlg. | 
| 
 | d. | In the Control IDs list, select IDC_LEADRASTERVIEW1. | 
| 
 | e. | Click the Add Variable... button. | 
| 
 | f. | Specify m_LEADRasterView1 as the variable name, and Control as the category. | 
| 
 | g. | Click OK to close the dialog box.. | 
| 
 | h. | In the Control IDs list, select IDC_LEADRASTERVIEW2. | 
| 
 | i. | Click the Add Variable... button. | 
| 
 | j. | Specify m_LEADRasterView2 as the variable name, and Control as the category. | 
| 
 | k. | Click OK to close the dialog box, and click OK to close the MFC ClassWizard. | 
| 11. | Go to the OnInitDialog() function as follows: | |
| 
 | a. | In the Project Workspace, click the ClassView tab. | 
| 
 | b. | Double-click the tutor classes folder to open it. | 
| 
 | c. | Expand the CTutorDlg class. | 
| 
 | d. | Double-click the OnInitDialog() function to edit it. | 
| 12. | Edit the OnInitDialog() function to add the following initializing code before the line CDialog::OnInitDialog(); | 
ILEADRasterIO *pRasterIO = NULL;
ILEADRasterProcess *pRasterProc = NULL;
| 13. | Edit the OnInitDialog() function to add the following code after the line that says //TODO: Add extra initialization here: | 
CoCreateInstance(CLSID_LEADRasterIO, NULL, CLSCTX_ALL, IID_ILEADRasterIO, (void**)&pRasterIO);
CoCreateInstance(CLSID_LEADRasterProcess, NULL, CLSCTX_ALL, IID_ILEADRasterProcess, (void**)&pRasterProc);
pRasterIO->Load(m_LEADRasterView1.GetRaster(), "c:\\sample1.cmp", 0, 0, 1);
pRasterIO->Load(m_LEADRasterView2.GetRaster(), "c:\\sample2.cmp", 0, 0, 1);
m_LEADRasterView1.GetRaster().SetRgnRect(100, 100, 300, 300, L_RGN_SET);
pRasterProc->Combine(m_LEADRasterView1.GetRaster(), 100, 100, 300, 300, m_LEADRasterView2.GetRaster(), 0, 0, (CombineConstants)(CB_OP_ADD | CB_DST_0));
m_LEADRasterView1.GetRaster().FreeRgn();
pRasterIO->Release();
pRasterIO = NULL;
pRasterProc->Release();
pRasterProc = NULL;
| 14. | On the main menu, select Build > Build tutor.exe to build the project. | 
| 15. | On the main menu, select Build > Execute tutor.exe to run the project. |