LBitmapList::SetHandle

#include "ltwrappr.h"

L_VOID LBitmapList::SetHandle(hList, pBListInfo=NULL, bFree=TRUE)

HBITMAPLIST hList;

the handle to the bitmap list to be set

LPBLISTINFO pBListInfo;

pointer to a structure

L_BOOL bFree;

flag that indicates whether to destroy the old bitmap list

Sets a new bitmap list handle for the bitmap list object.

Parameter Description
hList The handle to the bitmap list to be set.
pBListInfo Optional pointer to a structure of type BLISTINFO that holds additional information about the passed bitmap list handle.
bFree Flag that indicates whether to destroy the old bitmap list.  Possible values are:
  Value Meaning
  TRUE Destroy the old bitmap list.
  FALSE Do not destroy the old bitmap list.

Returns

None

Comments

Pass FALSE for bFree if the class object is referencing another object's bitmap list.

In this case, the owner of the bitmap list should free it when it is no longer needed.

If an LBitmapList object is referencing another object's bitmap list, you can use this function to set the object's internal handle to NULL so it will not attempt to free the bitmap list when its destructor is called.

Required DLLs and Libraries

LTFIL

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Win32, x64.

See Also

Functions:

Class Members

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName 
L_INT LBitmapList__SetHandleExample(HWND ) 
{ 
   L_INT nRet; 
   LBitmapList BitmapList, SecondBitmapList; 
   LBitmapBase Bitmap; 
   HBITMAPLIST hBitmapList; 
   nRet =BitmapList.Create (); 
   if(nRet !=SUCCESS) 
      return nRet; 
   // load three images and insert them in the list 
   nRet =Bitmap.Load(MAKE_IMAGE_PATH(TEXT("image1.cmp")), 0,ORDER_BGR); 
   if(nRet !=SUCCESS) 
      return nRet; 
   nRet =BitmapList.InsertItem (&Bitmap); 
   if(nRet !=SUCCESS) 
      return nRet; 
   nRet =Bitmap.Load(MAKE_IMAGE_PATH(TEXT("image2.cmp")), 0,ORDER_BGR); 
   if(nRet !=SUCCESS) 
      return nRet; 
   nRet =BitmapList.InsertItem (&Bitmap); 
   if(nRet !=SUCCESS) 
      return nRet; 
   nRet =Bitmap.Load(MAKE_IMAGE_PATH(TEXT("ImageProcessingDemo\\Image3.cmp")), 0,ORDER_BGR); 
   if(nRet !=SUCCESS) 
      return nRet; 
   nRet =BitmapList.InsertItem (&Bitmap); 
   if(nRet !=SUCCESS) 
      return nRet; 
   // get the internal handle 
   hBitmapList = BitmapList.GetHandle (); 
   // this will invalidate the original bitmaplist 
   // You have to set the handle of the first list to NULL 
   // so that when the SecondBitmapList is out of scope it will 
   // destroy the object 
   BitmapList.SetHandle (NULL, NULL, FALSE); 
   // Attach the list to the second LBitmapList object 
   SecondBitmapList.SetHandle (hBitmapList); 
   return SUCCESS; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Raster Imaging C++ Class Library Help