L_CreateZoomView (original) (raw)
Summary
Creates a new Zoom View and associates it with the specified window.
Syntax
#include "l_bitmap.h"
L_LTZMV_API L_INT L_CreateZoomView(hWnd, pBitmap, pZoomViewProps)
Parameters
HWND hWnd
Handle to a window.
pBITMAPHANDLE pBitmap
Pointer to the bitmap handle that references the bitmap displayed in hWnd
.
pZOOMVIEWPROPS pZoomViewProps
Pointer to a ZOOMVIEWPROPS structure containing options for controlling the behavior of the Zoom View.
Returns
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
Comments
Starts a Zoom View procedure by attaching a zoomed view to the specified window.
Note: Anytime the window's size changes or the bitmap changes, call the L_UpdateZoomView function in order to update the zoomed view settings.
When the zoomed view is no longer needed, call the L_DestroyZoomView function to stop the specified Zoom View procedure and to detach it from the window handle.
Required DLLs and Libraries
- LTZMV
- For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.
Platforms
Win32, x64.
See Also
Functions
Topics
Example
This example shows how you can start and stop the Zoom View.
It also demonstrates how to provide a callback function and how this can help you to update Zoom View options.
L_INT CreateZoomViewExample(HDC hMemDC, HWND hWnd, pBITMAPHANDLE pBitmap, RECT* prcView)
{
L_INT nRet;
ZOOMVIEWPROPS ZoomViewProps;
memset(&ZoomViewProps, 0, sizeof(ZOOMVIEWPROPS));
ZoomViewProps.uStructSize = sizeof(ZOOMVIEWPROPS);
SetRect(&ZoomViewProps.rcSrc, 0, 0, 100 * 100, 100 * 100);
SetRect(&ZoomViewProps.rcDst, 100 * 100, 100 * 100, 200 * 100, 200 * 100);
ZoomViewProps.nZoom = 200;
ZoomViewProps.bForceDst = FALSE;
ZoomViewProps.bEnabled = TRUE;
ZoomViewProps.bCallouts = TRUE;
ZoomViewProps.crCallout = RGB(255, 0, 0);
ZoomViewProps.nCalloutPenStyle = PS_DASH;
ZoomViewProps.crZoomViewBorder = RGB(0, 255, 0);
ZoomViewProps.uZoomViewBorderStyle = ZOOMVIEWBORDERSTYLE_SIMPLE;
ZoomViewProps.nZoomViewPenStyle = PS_SOLID;
ZoomViewProps.crSrcBorder = RGB(0, 0, 255);
ZoomViewProps.uSrcBorderStyle = SOURCEBORDERSTYLE_SIMPLE;
ZoomViewProps.nSrcPenStyle = PS_DOT;
CopyRect(&ZoomViewProps.rcView, prcView);
nRet = L_CreateZoomView(hWnd, pBitmap, &ZoomViewProps);
if (nRet == SUCCESS)
{
HDC hDC = GetDC(hWnd);
L_RenderZoomView(hDC, hWnd);
ReleaseDC(hWnd, hDC);
}
else
return nRet;
nRet = L_RenderZoomView(hMemDC, hWnd);
if (nRet != SUCCESS)
return nRet;
return SUCCESS;
}