L_VecAttachToWindow

#include "lvkrn.h"

L_LVKRN_API L_INT L_VecAttachToWindow(hWnd, pVector, dwFlags)

L_HWND hWnd;

window handle

pVECTORHANDLE pVector;

pointer to a vector handle

L_UINT32 dwFlags;

flags

Attaches a vector handle to a window.

Parameter Description
hWnd Handle of the window to which the vector handle will be attached.
pVector Pointer to a vector handle that will be attached to the window specified in hWnd.
dwFlags Flags that modify the vector engine. Possible values are:
  Value Meaning
  VECTOR_ENGINE_DOUBLEBUFFER Use double buffering for flicker-free screen updates.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function will attach a vector handle to a window handle. All subsequent changes to the vector image will be reflected on the window.

Note:

When you copy one vector to another using L_VecCopy, and the source vector is attached to a window, the destination vector will NOT be attached to the same window automatically.

You can draw on the surface of any window using L_VecPaint, but to use double buffering, you must attach the vector handle to a window.

Required DLLs and Libraries

LVKRN

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_VecPaint, L_VecCopy

Example

This example will assign a window handle to a vector handle.

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName 
/* This is the window procedure of the attached window. */ 
LRESULT WINAPI WndProc(HWND   hwnd, 
UINT   message, 
WPARAM wParam, 
LPARAM lParam) 
{ 
   VECTORHANDLE   Vector;  /* Vector handle. */ 
   L_INT          nRet;    /* return value. */ 
   PAINTSTRUCT    PaintStruct; 
   HDC            hdc; 
   RECT           rect; 
   switch(message) 
   { 
      case WM_CREATE: 
      /* Load an image into the vector handle. */ 
      nRet = L_VecLoadFile( MAKE_IMAGE_PATH(TEXT("random.dxf")), &Vector, NULL, NULL ); 
      if( nRet != SUCCESS ) 
      { 
         MessageBox(hwnd, TEXT("Error loading the file."), TEXT("Error"), MB_OK); 
         return -1; 
      } 
      /* Attach the vector image with this window using the GDI engine and double buffering. */ 
      nRet = L_VecAttachToWindow( hwnd, &Vector, VECTOR_ENGINE_DOUBLEBUFFER ); 
      if( nRet != SUCCESS ) 
      { 
         MessageBox(hwnd, TEXT("Error assigning vector image to window."), TEXT("Error"), MB_OK); 
         L_VecFree( &Vector ); 
         return -1; 
      } 
      return 0; 
      case WM_SIZE: 
      /* Set new view port */ 
      GetClientRect( hwnd, &rect ); 
      L_VecSetViewport( &Vector, &rect ); 
      return 0; 
      case WM_PAINT: 
      hdc = BeginPaint(hwnd, &PaintStruct); 
      /* Paint the vector image */ 
      L_VecPaint( hdc, &Vector, TRUE ); 
      EndPaint(hwnd, &PaintStruct); 
      return 0; 
      case WM_DESTROY: 
      /* Free the vector */ 
      L_VecFree( &Vector ); 
      PostQuitMessage( 0 ); 
      return 0; 
default: 
      return DefWindowProc( hwnd, message, wParam, lParam ); 
   } 
} 

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