LAnnPushPin::GetBitmap

#include "ltwrappr.h"

virtual L_INT LAnnPushPin::GetBitmap(pLBitmap, uStructSize)

virtual L_INT LAnnPushPin::GetBitmap(pBitmap, uStructSize)

LBitmapBase * pLBitmap;

pointer to an LBitmapBase object

pBITMAPHANDLE pBitmap;

address of the variable to be updated

L_UINT uStructSize;

size in bytes, of the structure pointed to by pBitmap

Gets the bitmap handle for the primary bitmap of the annotation object.

Parameter

Description

pLBitmap

Pointer to an LBitmapBase object to be updated with the handle to the annotation object's primary bitmap.

pBitmap

Address of the variable to be updated with the handle to the annotation object's primary bitmap.

uStructSize

Size in bytes, of the structure pointed to by pBitmap, for versioning. Use sizeof(BITMAPHANDLE).

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Before calling LAnnPushPin::GetBitmap(pLBitmap, uStructSize), where pLBitmap is of type LBitmapBase , you must declare an LBitmapBase object. Then, pass the address of the object in the pLBitmap parameter. This function will update the object with the handle to the annotation object's primary bitmap.

Before calling LAnnPushPin::GetBitmap(pBitmap, uStructSize), where pBitmap is of type pBITMAPHANDLE, you must declare a variable of data type BITMAPHANDLE. Then, pass the address of the variable in the pBitmap parameter. This function will update the variable with the handle to the annotation object's primary bitmap.

A pushpin object has a primary bitmap, (manipulated using LAnnPushPin::SetBitmap/LAnnPushPin::GetBitmap) when the text is shown, and a secondary bitmap, manipulated using LAnnPushPin::SetSecondaryBitmap/lannpushpin::getsecondarybitmap. The primary bitmap is shown with the note text. The secondary bitmap is shown by itself when the note is minimized.

In design mode, the PushPin object shows the text and displays the primary bitmap. In run mode, the object shows/hides the text when clicked. The pushpin object has the active mode property. When the mode is ANNACTIVE_ENABLED, the text is shown and the primary bitmap is painted in the top-left corner of the note.

When the mode is ANNACTIVE_DISABLED, the text is hidden and the secondary bitmap is displayed.

Required DLLs and Libraries

LTANN

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:

LAnnPushPin::SetBitmap, Class Members

Topics:

Annotation Functions: Object Properties

 

Using Annotation Bitmap Objects

Example

This is an example for both forms of LAnnPushPin::GetBitmap(pBitmap:

//***IMPORTANT: In the OnPaint(), add the following code: 
//      RECT rect; 
//      m_AnnContainer.GetBoundingRect(&rect) ; 
//      HDC hdc = ::GetDC(m_hWnd); 
//      m_AnnContainer.Draw(hdc,&rect); 
//      ::ReleaseDC(m_hWnd, hdc); 
 
L_INT LAnnPushPin_GetBitmapExample(HWND hWnd, LAnnContainer &AnnContainer, L_BOOL bPrimary) 
{ 
   LBitmap MyBitmap; 
   ANNRECT annRect; 
 
   LAnnPushPin *pMyAnnPushPin = new(LAnnPushPin); 
 
   annRect.left = 50; 
   annRect.top = 50; 
   annRect.right = 170; 
   annRect.bottom = 170; 
 
   pMyAnnPushPin->SetRect(&annRect); 
 
   //Set pushpin properties 
   pMyAnnPushPin->SetVisible(TRUE); 
 
   //Flip the primary bitmap 
   LBitmapBase *pBitmapBasePrimary = new(LBitmapBase); 
   pMyAnnPushPin->GetBitmap(pBitmapBasePrimary, sizeof(BITMAPHANDLE)); 
   //or 
   //BITMAPHANDLE LeadBitmap; 
   //pMyAnnPushPin->GetBitmap(&LeadBitmap, sizeof(BITMAPHANDLE)); 
   //pBitmapBasePrimary->Flip(); 
 
   //Flip the secondary bitmap 
   LBitmapBase *pBitmapBaseSecondary = new(LBitmapBase); 
   pMyAnnPushPin->GetSecondaryBitmap(pBitmapBaseSecondary, sizeof(BITMAPHANDLE)); 
 
   //or 
   //BITMAPHANDLE LeadBitmap; 
   //pMyAnnPushPin->GetSecondaryBitmap(&LeadBitmap, sizeof(BITMAPHANDLE)); 
   //pBitmapBaseSecondary->Flip(); 
 
   //Create container and insert annotation 
   AnnContainer.Create(hWnd, &annRect, TRUE); 
   AnnContainer.Insert(*pMyAnnPushPin); 
   AnnContainer.SetUserMode(ANNUSER_RUN); 
 
   if (bPrimary) 
      pMyAnnPushPin->SetActiveState(ANNACTIVE_ENABLED); 
   else 
      pMyAnnPushPin->SetActiveState(ANNACTIVE_DISABLED); 
 
   return SUCCESS; 
} 

Help Version 20.0.2020.4.5
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help