Attaches a vector handle to a window.
#include "ltvkrn.h"
L_LVKRN_API L_INT L_VecAttachToWindow(hWnd, pVector, dwFlags)
Handle of the window to which the vector handle will be attached.
Pointer to a vector handle that will be attached to the window specified in hWnd.
Flags that modify the vector engine. Possible values are:
| Value | Meaning |
|---|---|
| VECTOR_ENGINE_DOUBLEBUFFER | Use double buffering for flicker-free screen updates. |
| Value | Meaning |
|---|---|
| SUCCESS | The function was successful. |
| < 1 | An error occurred. Refer to Return Codes. |
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.
This example will assign a window handle to a vector handle.
/* 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 );}}