LToolbar::GetToolbarInfo

#include "ltwrappr.h"

L_INT LToolbar::GetToolbarInfo (pToolbarInfo, uStructSize)

pLTOOLBARINFO pToolbarInfo;

/* pointer to a structure */

L_UINT uStructSize;

/* size in bytes, of the structure pointed to by pToolbarInfo */

Gets the toolbar current information and copy it to the pToolbarInfo argument.

Parameter

Description

pToolbarInfo

Pointer to an LTOOLBARINFO structure to be updated with the current toolbar information.

uStructSize

Size in bytes, of the structure pointed to by pToolbarInfo. Use sizeof(LTOOLBARINFO).

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

LTOOLBARINFO structure fields contents should be freed by using the LToolbar::FreeToolbarInfo.

Required DLLs and Libraries

LTTLB

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:

LToolbar::SetToolbarInfo, LToolbar::FreeToolbarInfo, Class Members

Topics:

Getting and Setting Toolbar Information

Example

/* This example will create a DigitalPaint toolbar and then gets its information,
   then changes its button IDs and it will set this information as the new information 
   for the toolbar */

LToolbar tlb;

L_INT ToolbarTest ( HWND hWnd )
{
   LTOOLBARINFO ToolbarInfo ;

   /* Initiate the toolbar handle */
   tlb.Initialize () ; 

   if ( tlb.IsValid () ) /* check the validity of the toolbar handle */
   {
            POINT pt = { 0, 0 } ;

            /* Create the toolbar */
            tlb.Create (hWnd, TEXT("Tools Window"), TOOLBAR_PAINT ) ;

             /* Get the toolbar information */
            tlb.GetToolbarInfo (&ToolbarInfo , sizeof(LTOOLBARINFO)) ;

            /* Change all buttons IDs */
            for ( L_UINT i = 0; i < ToolbarInfo.uToolsCount; i ++ )
            {
               for ( L_UINT j; j < ToolbarInfo.pTools[i].uButtonsCount; j ++ )
               {
                     ToolbarInfo.pTools[i].pButtons[j].uID ++ ;
               }
            }

            /* Get the point that will be used to align the toolbar to 
            top-left of its owner client area */
            ::ClientToScreen ( hWnd, &pt ) ;

            /* Set the toolbar position */
            tlb.SetPosition (&pt, TOOLBAR_POSITION_TOP | TOOLBAR_POSITION_LEFT ) ;

            /* Set the new toolbar information */
            tlb.SetToolbarInfo (&ToolbarInfo ) ;

            /* Free the information that was allocated by L_TBGetToolbarInfo */
            tlb.FreeToolbarInfo (&ToolbarInfo ) ;

            /* Show the toolbar */
            tlb.SetVisible (TRUE ) ;

            return SUCCESS ;
   }
   else
   {
      return FAILURE ;
   }
}