#include "ltwrappr.h"
virtual L_INT LBitmapList::Create()
Creates a new bitmap list for the class object.
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
The class object must contain a valid bitmap list before you can use functions to insert, remove, or otherwise access bitmap list items.
You can create a bitmap list for the class object by doing one of the following:
calling LBitmapList::Create
calling the constructor LBitmapList(LBitmapList * pBitmapList)
using the = operator
using LBitmapList::Load
calling LBitmapList::CopyItems
calling LBitmapList::SetBitmapList
calling LBitmapList::SetHandle.
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. |
Win32, x64.
Functions: |
|
Topics: |
|
|
L_INT LBitmapList__CreateExample(HWND hWnd, L_TCHAR * szFilename,LBitmapBase LeadBitmap){UNREFERENCED_PARAMETER(szFilename);L_INT nRet;LBitmapList BmpList; /* Bitmap list */LPlayBack PlayBack;LBitmapBase TmpBitmap; /* Temporary bitmap for building the list */LAnimationWindow Animation;L_INT nMax = 160; /* Maximum width or height for bitmaps in the list */HDC hdc; /* Device context of the current window */RGBQUAD TmpPalette[1]; /* Palette to define the transparent color */L_INT i; /* Loop counter */L_UINT uState;RECT rcUpdate,rcDisplay;HPALETTE hPalette, hpalPaint;/* Reduce memory requirements, if necessary. Only small bitmaps play smoothly. */if (LeadBitmap.GetWidth()>nMax){nRet =LeadBitmap.Resize(&LeadBitmap, sizeof(BITMAPHANDLE), SIZE_RESAMPLE);if(nRet !=SUCCESS)return nRet;}elseif (LeadBitmap.GetHeight()>nMax){nRet =LeadBitmap.Resize(&LeadBitmap, sizeof(BITMAPHANDLE), SIZE_RESAMPLE);if(nRet !=SUCCESS)return nRet;}/* Dither to an optimized palette, leaving the last color blank to use later for transparency */nRet =LeadBitmap.ColorRes(8,CRF_FLOYDSTEINDITHERING|CRF_OPTIMIZEDPALETTE|CRF_IDENTITYPALETTE,NULL);if(nRet !=SUCCESS)return nRet;/* Set the transparent color in the last position of the palette */TmpPalette[0].rgbBlue = (BYTE) 202;TmpPalette[0].rgbGreen = (BYTE) 222;TmpPalette[0].rgbRed = (BYTE) 212;nRet =LeadBitmap.PutColors(255,1,TmpPalette);if(nRet !=SUCCESS)return nRet;/* Create the paint palette */hdc = ::GetDC(hWnd);hpalPaint = LeadBitmap.CreatePaintPalette(hdc);::ReleaseDC(hWnd, hdc);/* Set the playback flags that will apply to all bitmaps in the list */LeadBitmap.EnablePlayBackWaitUserInput(FALSE);LeadBitmap.EnablePlayBackTransparency(TRUE);LeadBitmap.SetPlayBackLeft(0);LeadBitmap.SetPlayBackTop(0);LeadBitmap.SetPlayBackDelay(10);LeadBitmap.SetPlayBackTransparentColor(PALETTEINDEX(255));LeadBitmap.SetPlayBackDisposalMethod(PLAYDISPOSE_RESTOREBACKGROUND);/* Create and populate the bitmap list */nRet =BmpList.Create();if(nRet !=SUCCESS)return nRet;for (i = 0; i <= 36; ++ i){TmpBitmap=LeadBitmap;/* Rotate, using the transparent color as the fill color */nRet =TmpBitmap.Rotate(1000*i,FALSE,PALETTEINDEX(255));if(nRet !=SUCCESS)return nRet;nRet =BmpList.InsertItem(&TmpBitmap);if(nRet !=SUCCESS)return nRet;}/* Set the background color for the animation playback */LeadBitmap.SetPlayBackBackGroundColor(RGB(0,0,255));TmpBitmap=LeadBitmap;/* Use the client area as the display rectangle */::GetClientRect(hWnd,&rcDisplay);/* Create and run the playback */nRet =PlayBack.Create(&LeadBitmap,&BmpList);if(nRet !=SUCCESS)return nRet;do{uState=PlayBack.Process();switch(uState){case PLAYSTATE_POSTRENDER:GetUpdateRect(hWnd, &rcUpdate,TRUE);hdc = ::GetDC(hWnd);if (hpalPaint){hPalette = ::SelectPalette (hdc, hpalPaint, TRUE);::RealizePalette(hdc);}PlayBack.GetBitmap()->SetClipSrcRect(&rcUpdate);PlayBack.GetBitmap()->SetDstRect(&rcDisplay);PlayBack.GetBitmap()->SetClipDstRect(&rcDisplay);PlayBack.GetBitmap()->Paint()->SetDC(hdc);PlayBack.GetBitmap()->Paint()->PaintDC();if(hpalPaint)SelectPalette(hdc,hPalette,TRUE);::ReleaseDC(hWnd, hdc);break;}} while(uState != PLAYSTATE_END);/* Clean up */PlayBack.Destroy(0);LeadBitmap=TmpBitmap;return SUCCESS;}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
