#include "ltivw.h"
L_LTIVW_API L_INT L_DispContainerSetPaintImageCallBack(hCellWnd, pfnCallBack, pUserData);
L_HWND hCellWnd; |
handle to the cell window |
DISPCONTAINERPOSTPAINTCALLBACK pfnCallBack; |
callback function |
LPVOID pUserData; |
pointer to more parameters for the callback |
Sets a callback function that is called just before rendering the image.
Parameter |
Description |
hCellWnd | A handle to the window that represents the Medical Viewer Cell. |
pfnCallBack | Callback function that is called after painting the cell. The callback function must adhere to the function prototype described in DISPCONTAINERPOSTPAINTCALLBACK. |
pUserData | Void pointer that you can use to pass one or more additional parameters that the callback function needs. To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. If the additional parameters are not needed, you can pass NULL in this parameter. |
SUCCESS | The function was successful. |
1 | An error occurred. Refer to Return Codes. |
To get the post-paint callback, use L_DispContainerGetPostPaintCallBack.
To set the post-paint callback, use L_DispContainerSetPostPaintCallBack.
To get the pre-paint callback, use L_DispContainerGetPrePaintCallBack.
To set the pre-paint callback, use L_DispContainerSetPrePaintCallBack.
Required DLLs and Libraries
LTIVW For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
This function sets the paint image callback.
L_INT EXT_CALLBACK PaintImage (L_HWND hCellWnd,
pDISPCONTAINERCELLINFO pCellInfo,
L_VOID * )
{
UNREFERENCED_PARAMETER(hCellWnd);
HDC hDC = pCellInfo->hDC;
static LOGFONT lf = {0};
lf.lfHeight = -12;
lf.lfQuality = ANTIALIASED_QUALITY;
wsprintf(lf.lfFaceName, TEXT("Arial\0"));
FillRect(hDC, &(pCellInfo->rcBitmapRect), GetStockBrush(BLACK_BRUSH));
HFONT hFont = CreateFontIndirect(&lf);
HFONT hPrevFont = (HFONT)SelectObject(hDC, hFont);
SetTextColor(hDC, RGB(255, 255, 0));
DrawText(hDC, TEXT("Custom Image"), 30, &(pCellInfo->rcBitmapRect), DT_LEFT | DT_VCENTER | DT_SINGLELINE);
SelectObject(hDC,hPrevFont);
DeleteObject(hFont);
Rectangle(hDC, pCellInfo->rcBitmapRect.left, pCellInfo->rcBitmapRect.top, pCellInfo->rcBitmapRect.right, pCellInfo->rcBitmapRect.bottom);
return SUCCESS;
}
L_INT L_DispContainerSetPaintImageCallBackExample(HWND hCellWnd)
{
L_DispContainerSetPaintImageCallBack(hCellWnd, PaintImage, NULL);
return SUCCESS;
}