Implementing Automation - Implementing the Automated Edit Menu

Start with the project you created in implementing the vector automation

Take the following steps to implement an edit menu in the application:

1.

Select the File->New menu option. In the dialog box, select Resource Script and press Enter.

2.

Right click the script you just created. Select Insert and then Menu from the dialog box that appears and click OK.

3.

Create this Menu structure:

IDR_MENU1 
 &File 
 &Undo         with ID = IDM_EDIT_UNDO 
 &Redo         with ID = IDM_EDIT_REDO 
 Cu&t          with ID = IDM_EDIT_CUT 
 &Copy         with ID = IDM_EDIT_COPY 
 &Paste        with ID = IDM_EDIT_PASTE 
 &Delete       with ID = IDM_EDIT_DELETE 
 Select &All   with ID = IDM_EDIT_SELECTALL 
 &Unselect All with ID = IDM_EDIT_UNSELECTALL 
 P&rint        with ID = IDM_EDIT_PRINT 
 &Reset        with ID = IDM_EDIT_RESET 

4.

Select File->Save from the menu. Enter vecaut.rc in the Save As box and click Save.

5.

Select Insert->Files into Project, browse to the vecaut.rc file just created and click Add.

6.

Add the following line right under #include "c:\lead\include\ltaut.h".

#include "resource.h" 

7.

Change the line

WndClass.lpszMenuName = NULL; 

In the WinMain function to

WndClass.lpszMenuName = MAKEINTRESOURCE( IDR_MENU1 ); 

8.

Add the following lines of code right after the return 0L; statement of case WM_CREATE:

case WM_COMMAND: 
switch (LOWORD(wParam)) 
{ 
   case IDM_EDIT_UNDO: 
   L_AutUndo(pAutomation, 0L); 
   InvalidateRect(hWnd, NULL, FALSE); 
   return 0L; 
   case IDM_EDIT_REDO: 
   L_AutUndo(pAutomation, 0L); 
   InvalidateRect(hWnd, NULL, FALSE); 
   return 0L; 
   case IDM_EDIT_CUT: 
   L_AutCut(pAutomation, 0L); 
   InvalidateRect(hWnd, NULL, FALSE); 
   return 0L; 
   case IDM_EDIT_COPY: 
   L_AutCopy(pAutomation, 0L); 
   InvalidateRect(hWnd, NULL, FALSE); 
   return 0L; 
   case IDM_EDIT_PASTE: 
   L_AutPaste(pAutomation, 0L); 
   InvalidateRect(hWnd, NULL, FALSE); 
   return 0L; 
   case IDM_EDIT_DELETE: 
   L_AutDelete(pAutomation, 0L); 
   InvalidateRect(hWnd, NULL, FALSE); 
   return 0L; 
   case IDM_EDIT_SELECTALL: 
   L_AutSelect(pAutomation, AUTOMATION_SELECT_ALL, 0L); 
   InvalidateRect(hWnd, NULL, FALSE); 
   return 0L; 
   case IDM_EDIT_UNSELECTALL: 
   L_AutSelect(pAutomation, AUTOMATION_SELECT_NONE, 0L); 
   InvalidateRect(hWnd, NULL, FALSE); 
   return 0L; 
   case IDM_EDIT_PRINT: 
   L_AutPrint(pAutomation, 0L); 
   return 0L; 
   case IDM_EDIT_RESET: 
   ResetView(hWnd, &Vector, pAutomation); 
   return 0L; 
default: 
   break; 
} 
break; 

9.

Compile and run the demo. You should be able to perform common operations found in most Windows programs on your vector image.

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Container and Automation C API Help