L_Doc2Zone

#include "ltdoc2.h"

L_LTDOC2_API L_INT EXT_FUNCTION L_Doc2Zone(hDoc, nPageIndex, nZoneIndex, lpArea)

L_HDOC2 hDoc;

/* handle to the OCR document */

L_INT nPageIndex;

/* page index */

L_INT nZoneIndex;

/* zone index */

LPRECT lpArea;

/* pointer to a RECT structure */

Updates the specified zone area.

Parameter

Description

hDoc

Handle to the OCR document.

nPageIndex

Page index. This index is zero-based.

nZoneIndex

Zone index that will be updated. This index is zero-based.

lpArea

Pointer to the Windows RECT structure, which contains the new zone area.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Updates the specified zone area in the specified page.

To update general zone information, call the L_Doc2UpdateZone function.

If the zone is OCR zone, then this function will not update the zone area.

Required DLLs and Libraries

LTDOC2

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

L_Doc2LockPage, L_Doc2UnlockPage, L_Doc2SetActivePage, L_Doc2DrawPage, L_Doc2SelectZoneByPoint, L_Doc2SelectZone, L_Doc2RemoveSelectedZone, L_Doc2SetZonePen, L_Doc2SetSelectedZonePen, L_Doc2GetSelectedZone

Topics:

OCR Functions: Zones

 

Drawing Pages and Zones

Example

L_LTDOC2TEX_API  L_INT Doc2ZoneExample(L_HDOC2 hDoc,HWND hWnd)
{
   L_INT nRet;
   HDC hdc = GetDC(hWnd);
   L_INT nSelZone = 0;
   POINT pt;

   pt.x = 450;
   pt.y = 400;

   nRet = L_Doc2SelectZoneByPoint(hDoc, hdc, 0, pt, &nSelZone);
   if (nRet == SUCCESS)
   {
      ZONEDATA2 ZoneData;

      ZeroMemory(&ZoneData, sizeof(ZONEDATA2));

      // gets the zone data for the current selected zone...
      nRet = L_Doc2GetSelectedZone(hDoc, 0, &ZoneData, sizeof(ZONEDATA2));
      if (nRet == SUCCESS)
      {
         // update the area for the current selected zone...

         ZoneData.rcArea.left += 10;
         ZoneData.rcArea.top += 10;
         ZoneData.rcArea.right += 50;
         ZoneData.rcArea.bottom += 50;
         nRet = L_Doc2Zone(hDoc, 0, nSelZone, &ZoneData.rcArea);
         if (nRet == SUCCESS)
            MessageBox(NULL, TEXT("The selected zone area is updated."), TEXT("Notice!"), MB_OK);
      }
      else
         return nRet;

      ReleaseDC(hWnd, hdc);
   }
   else
      return nRet;

   return SUCCESS;
}