L_AnnSelectRect

Summary

Selects all objects within the specified rectangle, relative to the window.

Syntax

#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnSelectRect(hObject, pRect)

Parameters

HANNOBJECT hObject

Handle to the annotation object.

LPRECT pRect

Pointer to the Windows RECT structure. Coordinates are relative to the associated window's client area.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

Selecting an object sets its selected property to TRUE.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

This example selects all objects in the top half of the client area, changes the
background color of selected objects, and updates the display.

L_INT AnnSelectRectExample(L_HWND hWnd, HANNOBJECT hContainer /* Container annotation object */) 
{ 
   L_INT    nRet; 
   L_RECT   rClientArea;      /* Client area of the current window */ 
   L_RECT   rSelectionRect;   /* Bounding rectangle of selected objects */ 
   L_HDC    hWindowDC;        /* Device context of the current window */ 
   L_RECT   rAnnBounds;       /* Bounding rectangle when displaying the note */ 
   L_UINT   SelectCount;      /* Number of objects selected */ 
   L_TCHAR  szMessage[80];    /* Message buffer */ 
 
   /* Get the device context of the current window */ 
   hWindowDC = GetDC(hWnd); 
 
   /* Get the client area of the current window */ 
   GetClientRect(hWnd, &rClientArea); 
 
   /* Select the objects in the top half of the client area. Notice that 
   some adjustments are required to ensure that the specified rectangle encloses 
   all objects in the top half of the client area. */ 
   rSelectionRect.top = rClientArea.top - 1; 
   rSelectionRect.left = rClientArea.left - 1; 
   rSelectionRect.right = rClientArea.right + 2; 
   rSelectionRect.bottom = (rClientArea.bottom / 2) + 2; 
 
   nRet = L_AnnSelectRect(hContainer, &rSelectionRect); 
   if (nRet != SUCCESS) 
      return nRet; 
   /* Set the background color of selected objects */ 
   nRet = L_AnnSetBackColor(hContainer, RGB(255, 0, 0), 
      ANNFLAG_SELECTED | ANNFLAG_RECURSE); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   /* Get the bounding rectangle of selected objects */ 
   nRet = L_AnnGetSelectRect(hContainer, &rAnnBounds); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   /* Get the window's device context */ 
   hWindowDC = GetDC(hWnd); 
 
   /* Display the change */ 
   nRet = L_AnnDraw(hWindowDC, &rAnnBounds, hContainer); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   /* Remove the queued paint message */ 
   ValidateRect(hWnd, &rAnnBounds); 
 
   /* Get the number of objects selected */ 
   nRet = L_AnnGetSelectCount(hContainer, &SelectCount); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   /* Display a message box with the result */ 
   wsprintf(szMessage, TEXT("Notice: %d objects selected"), SelectCount); 
   _tprintf(_T("%s"), szMessage); 
 
   return SUCCESS; 
} 

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.