#include "l_bitmap.h"
L_LTSCR_API L_INT L_CaptureFromExeDlg(pBitmap, uBitmapStructSize, pszFileName, pTransparentColor, nResType, nDialogType, uFlags, pCaptureInfo, uInfoStructSize, pfnCaptureCallback, pUserData, pfnCallBack, pHlpUserData)
pBITMAPHANDLE pBitmap; |
pointer to the bitmap handle |
L_UINT uBitmapStructSize; |
size in bytes, of the structure pointed to by pBitmap |
L_TCHAR * pszFileName; |
filename to capture from |
LPCOLORREF pTransparentColor; |
pointer to a color |
L_INT nResType; |
resource type to be captured. |
L_INT nDialogType; |
type of dialog to be displayed |
L_UINT uFlags; |
flags |
pLEADCAPTUREINFO pCaptureInfo; |
pointer to info structure |
L_UINT uInfoStructSize; |
size in bytes, of the structure pointed to by pCaptureInfo |
CAPTURECALLBACK pfnCaptureCallback; |
optional callback function |
L_VOID * pUserData; |
pointer to more parameters for the callback |
LTSCRHELPCB pfnCallBack; |
optional help callback function |
L_VOID * pHlpUserData; |
pointer to more parameters for the help callback |
Displays a dialog and captures an image from a resource stored in an EXE or DLL.
Parameter | Description | ||
pBitmap | Pointer to a bitmap handle that references the captured data. | ||
uBitmapStructSize | Size in bytes, of the structure pointed to by pBitmap, for versioning. Use sizeof(BITMAPHANDLE). | ||
pszFileName | Character string containing the name of the exe (or dll) from which the resource should be captured. | ||
pTransparentColor | Pointer to a color to be used in place of the transparent color of an Icon or Cursor. | ||
nResType | Specifies the type of resource to capture. Possible values for RETYPEENUM are: | ||
Value | Meaning | ||
RESTYPE_BITMAP | Capture a bitmap | ||
RESTYPE_ICON | Capture an icon | ||
RESTYPE_CURSOR | Capture a cursor | ||
nDialogType | Type of dialog to be displayed. Possible values are: | ||
Value | Meaning | ||
LTCAPDLG_TREEVIEW | Display tree dialog | ||
LTCAPDLG_TABVIEW | Display tab view | ||
uFlags | Flags that determine the options dialog. Possible values are: | ||
Value | Meaning | ||
NONE | [0x0000] No "?" help button will be shown. | ||
SCRDLG_CAPTUREFROMEXE_CONTEXTHELP | [0x0008] Capture from exe options dialog context help. The "?" button will appear in the title bar if the pfnCallBack is not NULL. | ||
pCaptureInfo | Address of LEADCAPTUREINFO structure to be filled with information regarding the captured image's source. Pass NULL if you are not interested in extra information about the capture. | ||
uInfoStructSize | Size in bytes, of the structure pointed to by pCaptureInfo, for versioning. Use sizeof(LEADCAPTUREINFO). | ||
pfnCaptureCallback | Optional callback function for additional processing. | ||
If you do not provide a callback function, use NULL as the value of this parameter. | |||
If you do provide a callback function, use the function pointer as the value of this parameter. | |||
The callback function must adhere to the function prototype described in CAPTURECALLBACK Function. | |||
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. | |||
pfnCallBack | Optional help callback function for displaying help dialog. If you do not provide a help callback function, use NULL as the value of this parameter. If you do provide a help callback function, use the function pointer as the value of this parameter. The callback function must adhere to the function prototype described in LTSCRHELPCB Function. | ||
pHlpUserData | Void pointer that you can use to pass one or more additional parameters that the help 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 pHlpUserData 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. |
This function displays a dialog box that allows the user to select a resource from which a captured image should be made. The callback can be used to do multiple captures, depending on the options set using L_SetCaptureOption.
The captured bitmap may or may not have a region, depending on the transparency information of the captured resource.
If a help callback function was provided in pfnCallback, a Help button will appear on the dialog. If NULL was provided, no Help button will appear.
Required DLLs and Libraries
LTSCR For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Functions: |
L_SetCaptureOption, L_SetCaptureOptionDlg, CAPTURECALLBACK, L_StopCapture, LTSCRHELPCB Function |
Topics: |
|
|
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
L_INT EXT_CALLBACK pfnCaptureCallback(pBITMAPHANDLE pBitmap,
pLEADCAPTUREINFO pCaptureInfo,
L_VOID * pUserData)
{
UNREFERENCED_PARAMETER(pCaptureInfo);
UNREFERENCED_PARAMETER(pUserData);
/* save the captured image */
return(L_SaveBitmap (MAKE_IMAGE_PATH(TEXT("FromExeDlg.bmp")), pBitmap, FILE_BMP, 0, 0, NULL));
}
L_INT CaptureFromEXEDlgExample(L_VOID)
{
BITMAPHANDLE Bitmap;
COLORREF TransparentColor;
LEADCAPTUREINFO CaptureInfo;
memset(&CaptureInfo, 0, sizeof(LEADCAPTUREINFO));
/*To call the L_CaptureFromExeDlg Tree*/
TransparentColor = RGB(0, 0, 0);
L_INT nRet = L_CaptureFromExeDlg(&Bitmap, sizeof(BITMAPHANDLE),
NULL,
&TransparentColor,
RESTYPE_BITMAP | RESTYPE_ICON | RESTYPE_CURSOR,
LTCAPDLG_TREEVIEW,0,
&CaptureInfo, sizeof(LEADCAPTUREINFO),
pfnCaptureCallback,
NULL, NULL, NULL);
if (Bitmap.Flags.Allocated)
L_FreeBitmap (&Bitmap);
return nRet;
}