LlStgsysGetPageMetafile

Syntax:

HANDLE LlStgsysGetPageMetafile (HLLSTG hStg, INT nPageIndex);

Task:

Returns an enhanced metafile handle that can be used to display or print page data.

Parameter:

hStg: The handle returned by LlStgsysStorageOpen()

nPageIndex: Page index (1..LlStgsysGetPageCount())

Return value:

NULL: error; else: handle of (enhanced) metafile

Hints:

The handle needs to be released using LlStgsysDestroyMetafile().

Example:

Excerpt from the code of LlStgsysDrawPage():

HANDLE      hMF;
BOOL        b16bit;


hMF = LlStgsysGetPageMetafile(hStg, nPageIndex);
if (hMF == NULL)
{
   hMF = LlStgsysGetPageMetafile16(hStg, nPageIndex);
}
if (hMF == NULL)
   ret = LL_ERR_STG_CANNOTGETMETAFILE;
else 
{
   POINT ptPixels;
   POINT ptPixelsOffset;
   POINT ptPixelsPhysical;
   POINT ptPixelsPerInch;

   ptPixels.x = LlStgsysGetPageOptionValue(hStg, nPageIndex,
      LS_OPTION_PRN_PIXELS_X);
   ptPixels.y = LlStgsysGetPageOptionValue(hStg, nPageIndex,
      LS_OPTION_PRN_PIXELS_Y);
   ptPixelsOffset.x = LlStgsysGetPageOptionValue(hStg, nPageIndex,
      LS_OPTION_PRN_PIXELSOFFSET_X);
   ptPixelsOffset.y = LlStgsysGetPageOptionValue(hStg, nPageIndex,
      LS_OPTION_PRN_PIXELSOFFSET_Y);
   ptPixelsPhysical.x = LlStgsysGetPageOptionValue(hStg, nPageIndex,
      LS_OPTION_PRN_PIXELSPHYSICAL_X);
   ptPixelsPhysical.y = LlStgsysGetPageOptionValue(hStg, nPageIndex,
      LS_OPTION_PRN_PIXELSPHYSICAL_Y);
   ptPixelsPerInch.x = LlStgsysGetPageOptionValue(hStg, nPageIndex,
      LS_OPTION_PRN_PIXELSPERINCH_X);
   ptPixelsPerInch.y = LlStgsysGetPageOptionValue(hStg, nPageIndex,
      LS_OPTION_PRN_PIXELSPERINCH_Y);

   <Paint Metafile>
   LlStgsysDestroyMetafile(hMF);
}

See also:

LlStgsysDestroyMetafile