LEADTOOLS Raster Imaging C++ Class Library Help > Classes and Member Functions > LScreenCapture > LScreenCapture Member Functions > LScreenCapture::CaptureHotKeyCallBack |
#include "ltwrappr.h"
virtual L_INT LScreenCapture::CaptureHotKeyCallBack(nHotKey, uHotKeyModifiers)
L_INT nHotKey; |
/* key code for activation key */ |
L_UINT uHotKeyModifiers; |
/* modifier key */ |
Signals that the user has pressed the capture HotKey.
Parameter |
Description |
|
nHotKey |
Key code for activation key. |
|
uHotKeyModifiers |
Modifier keys used with nHotKey. Possible values are listed below and may be combined using the bitwise OR ( | ) operator. |
|
|
Value |
Meaning |
|
MOD_ALT |
Alt Key pressed. |
|
MOD_CONTROL |
Control key pressed. |
|
MOD_SHIFT |
Shift key pressed. |
|
0 |
No modifier key was pressed. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
You can override this function to do initialization processing before the capture operation starts.
Required DLLs and Libraries
LTDIS For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Win32, x64.
See Also
Functions: |
Example
// ScreenCapture Callbacks class LUserScreenCapture : public LScreenCapture { HWND m_hWnd; public: LUserScreenCapture(HWND hWnd){m_hWnd = hWnd;} virtual ~LUserScreenCapture(){}; virtual L_INT CaptureHotKeyCallBack(L_INT nHotKey,L_UINT uHotKeyModifiers); virtual L_INT ScreenCaptureCallBack(); }; // This callback will be called once the hotkey is pressed L_INT LUserScreenCapture::CaptureHotKeyCallBack(L_INT nHotKey,L_UINT uHotKeyModifiers) { UNREFERENCED_PARAMETER(nHotKey); UNREFERENCED_PARAMETER(uHotKeyModifiers); MessageBox(m_hWnd, TEXT("HotKey pressed."), TEXT("CaptureHotKeyCallBack"), MB_OK); return SUCCESS; } // This callback will be called once an image is captured L_INT LUserScreenCapture::ScreenCaptureCallBack() { RECT rcClientRect; HDC hDC; hDC = GetDC(m_hWnd); // get the client rect of the window GetClientRect(m_hWnd, &rcClientRect); // paint the captured image m_pBitmap->Paint()->SetDC(hDC); m_pBitmap->SetDstRect(&rcClientRect); m_pBitmap->Paint()->PaintDC(); ReleaseDC(m_hWnd, hDC); return SUCCESS; } L_INT LScreenCapture__CaptureHotKeyCallBackExample(HWND hWnd) { L_INT nRet; LBitmapBase LeadBitmap; LUserScreenCapture screenCapture(hWnd); LEADCAPTUREOPTION CaptureOptions; screenCapture.SetBitmap(&LeadBitmap); // get original capture options nRet = screenCapture.GetCaptureOptions(&CaptureOptions); if(nRet == SUCCESS) { // Set capture count to 2 CaptureOptions.uCount = 2; nRet = screenCapture.SetCaptureOptions(&CaptureOptions); if(nRet != SUCCESS) return nRet; } else return nRet; // EnableCallBack should be called in order for the callbacks to be activated screenCapture.EnableCallBack(TRUE); // CaptureActiveWindow - HotKey = F11 // After calling this function above callbacks will be called nRet = screenCapture.CaptureActiveWindow(); if(nRet != SUCCESS) return nRet; return SUCCESS; }