Enables a method to load the frames only when viewed, in order to use the system memory efficiently.
#include "ltivw.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerEnableCellLowMemoryUsage(hCellWnd, nHiddenCount, nFrameCount, pBitmapInfo, uFlags)
A handle to the window that represents the cell on which the function's effect will be applied.
Value that represents the number of unseen frames that the control will load. Setting this value, for example, to 2 makes the control load 2 frames before the viewed frames and 2 frames after the viewed frames.
Value that represents the total number of frames that will be included in the specified cell.
Pointer to the DISPCONTAINERBITMAPINFO structure that contains the bitmap information to being set.
Reserved for future use. Pass 0.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
The low memory usage feature works by making the control stop from loading all of the frames at runtime. Instead, the control will load only the frames that are currently visible on the cell. The control will send a request each time the user scrolls down or up, changes the number of visible frames, etc. For example, suppose the cell layout is a 2X2 (See L_DispContainerSetCellProperties), and the user needs to load more than 100000 frames. Instead of loading them all, this function will send a callback (DISPCONTAINERFRAMEREQUESTEDCALLBACK) when the cell is loaded, requesting 4 frames (1, 2, 3 and 4) (because the cell is 2X2). Once the user scrolls down the cell to view frame number 5, frame number 1 will be disposed of because it is no longer visible, and the callback will be fired to request frame number 5. When frames are requested, the user is supposed to send them to the control using the function L_DispContainerSetRequestedImage.
nHiddenCount allows the control to load a specified number of frames in advance (so if you have a 2X2 cell and you set nHiddenCount to 3, the method will request (1, 2, 3, 4, 5, 6, 7). The function, will also normally request 0, -1, -2. But since those indexes are not valid, the control will not request them.
To get the current frames request callback function, call L_DispContainerGetLowMemoryUsageCallBack.
To set the current frames request callback function, call L_DispContainerSetLowMemoryUsageCallBack.
If you do not need to use the low memory usage feature to load images, you can send a bitmap list directly to the control using the L_DispContainerSetCellBitmapList function.
To disable the low memory usage feature, remove the cell that previously had the feature enabled, and then add it again.
The toolkit comes in Win32 and x64 editions that can support development of software applications for any of the following environments:
Windows 10
Windows 8
Windows 7
Windows Vista
Windows XP
Windows 2000
For an example, refer to L_DispContainerSetLowMemoryUsageCallBack.