L_CaptureFromEXEDlg
#include "l_bitmap.h"
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 */ |
/* 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 */ |
/* 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 |
Type of resource to be captured. Possible values 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 flags. |
|
SCRDLG_SETCAPTUREOPTION_CONTEXTHELP |
[0x0001] Capture options dialog context help. |
|
SCRDLG_CAPTUREAREAOPTION_CONTEXTHELP |
[0x0002] Area options dialog context help. |
|
SCRDLG_CAPTUREOBJECTOPTION_CONTEXTHELP |
[0x0004] Object options dialog context help. |
|
SCRDLG_CAPTUREFROMEXE_CONTEXTHELP |
[0x0008] Capture from exe options dialog context help. |
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 L_FAR *. 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. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
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. |
See Also
Functions: |
L_SetCaptureOption, L_SetCaptureOptionDlg, CAPTURECALLBACK, L_StopCapture, LTSCRHELPCB Function |
Example
L_INT L_EXPORT pfnCaptureCallback (pBITMAPHANDLE pBitmap, pLEADCAPTUREINFO pCaptureInfo, L_VOID L_FAR* pUserData)
{
/* save the captured image */
return( L_SaveBitmap(TEXT("d:\\temp\\test.bmp"), pBitmap, FILE_BMP, 0, 0, NULL));
}
int MyMain()
{
BITMAPHANDLE Bitmap;
COLORREF TransparentColor;
LEADCAPTUREINFO CaptureInfo;
int nRet;
/*To call the L_CaptureFromExeDlg Tree*/
TransparentColor = RGB(0, 0, 0);
L_CaptureFromExeDlg (
&Bitmap, sizeof(BITMAPHANDLE),
NULL,
&TransparentColor,
RESTYPE_BITMAP | RESTYPE_ICON | RESTYPE_CURSOR,
LTCAPDLG_TREEVIEW,0,
&CaptureInfo, sizeof(LEADCAPTUREINFO),
pfnCaptureCallback,
NULL,
NULL, NULL);
L_FreeBitmap(&Bitmap);
return 0;
}