LChange::ChangeToDDB

#include "ltwrappr.h"

static HBITMAP LChange::ChangeToDDB(hDC, pLBitmap)

HDC hDC;

/* handle to the device responsible for the conversion */

LBitmapBase * pLBitmap;

/* pointer to the bitmap object */

Changes an LBitmapBase object's internal LEAD bitmap handle to a Windows Device Dependent Bitmap (DDB). This function results in only one copy of the bitmap, and it invalidates the LEAD bitmap handle.

Parameter

Description

hDC

Handle to the device responsible for the conversion. The mapping mode of the device context must be MM_TEXT.

pLBitmap

Pointer to the bitmap object referencing the bitmap to change.

Returns

>0

HBITMAP.

0

An error occurred.

Comments

When you no longer need the DDB, you can free it using the Windows DeleteObject() function.

If this function fails, the return value is a NULL HBITMAP.  This can happen if the image is too large for the Windows API functions that LEADTOOLS uses internally.  To get more information about why the Windows API functions may have failed, you can use the Windows API GetLastError.

   /* Change the initial bitmap to a DDB */
   hDDB = LChange::ChangeToDDB( hDC, &MyBitmap );
   if(!hDDB)
   {
      DWORD dwRet = GetLastError();
      /* process the error code here */
   }

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.

See Also

Functions:

LBitmapBase::ConvertFromDDB, LBitmapBase::ConvertFromDIB, LBitmapBase::ConvertToDDB, LBitmapBase::ConvertToDIB, LChange::ChangeToDDB, Class Members

Topics:

Raster Image Functions: Creation, Deletion, and Copying

 

Using DIBs, DDBs, and the Clipboard

Example

For an example, refer to LChange::ChangeFromDDB.