Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits. |
LBase::StatusCallBack
#include "ltwrappr.h"
virtual L_INT LBase::StatusCallBack (nPercentComplete)
L_INT nPercentComplete; |
/* completion percentage */ |
Override this function to update a status bar or interrupt the calling function's operation.
Parameter |
Description |
nPercentComplete |
An integer from 0 to 100 that indicates the completion percentage of the function that uses the callback. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Derived classes can override this function to update a status bar or interrupt the calling function's operation.
This generalized callback function can be called by many different C++ Class Library functions. If this function returns a failure, the calling function will terminate and return the same error that the callback returned. Override this function in your derived class if you want to have control over the function in process. This function will be called only if the status callback is enabled for the class object.
Required DLLs and Libraries
LTKRN 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: |
LBase::IsStatusCallBackEnabled, LBase::EnableStatusCallBack, Class Members |
Example
class LStatusBitmap : public LBitmap { public: LStatusBitmap(); virtual L_INT StatusCallBack(L_INT nPercentComplete); virtual ~LStatusBitmap(); }; ////////////////////////////////////////////////////////////////////// // Construction/Destruction //////////////////////////////////////////////////////////////////// LStatusBitmap::LStatusBitmap() { } LStatusBitmap::~LStatusBitmap() { } L_INT LStatusBitmap::StatusCallBack(L_INT nPercentComplete) { // display a message when 30% of the status is done. if(nPercentComplete == 30) { MessageBox(NULL, TEXT("30 Percent of AddNoise function is completed."), TEXT("StatusCallBack"), MB_OK); } return SUCCESS; } L_INT LBase__StatusCallBackExample(HWND hWnd) { L_INT nRet; LStatusBitmap LeadBitmap; HDC hDC; RECT rcClientRect; // get DC hDC = GetDC(hWnd); GetClientRect(hWnd, &rcClientRect); //Load an image nRet = LeadBitmap.Load(TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\babe.cmp"), 0,ORDER_BGR); if(nRet != SUCCESS) return nRet; // Check if StatusCallBack is already enabled nRet = LeadBitmap.IsStatusCallBackEnabled(); if(nRet == FALSE) { // Enable Status CallBack LeadBitmap.EnableStatusCallBack(TRUE); } // Call add noise function // during the calling of this function // StatusCallBack will be called nRet = LeadBitmap.AddNoise(); if(nRet != SUCCESS) return nRet; // Paint the image LeadBitmap.Paint()->SetDC(hDC); nRet = LeadBitmap.SetDstRect(&rcClientRect); if(nRet != SUCCESS) return nRet; nRet = LeadBitmap.Paint()->PaintDC(); if(nRet != SUCCESS) return nRet; ReleaseDC(hWnd, hDC); return SUCCESS; }