virtual L_INT LAnnPushPin::GetBitmap(pLBitmap, uStructSize)
virtual L_INT LAnnPushPin::GetBitmap(pBitmap, uStructSize)
Gets the bitmap handle for the primary bitmap of the annotation object.
Pointer to an LBitmapBase object to be updated with the handle to the annotation object's primary bitmap.
Address of the variable to be updated with the handle to the annotation object's primary bitmap.
Size in bytes, of the structure pointed to by pBitmap, for versioning. Use sizeof(BITMAPHANDLE).
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
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.
Win32, x64.
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 Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document