L_VecAttachToWindow
#include "lvkrn.h"
L_LVKRN_API L_INT L_VecAttachToWindow(hWnd, pVector, dwFlags)
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: |
Example
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( TEXT("TEMP.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 ); } }