When a toolbar button is selected, the application is notified through a callback function. The callback function must adhere to the prototype described in TOOLBARCALLBACK. To set the callback function to use for notification, call L_TBSetCallback. To determine which callback function is currently being used, call L_TBGetCallback. The following is an example of processing toolbar events:
/* This example will create a toolbar and set its callback and then use some ofits buttons messages to display messages to the user */L_INT EXT_CALLBACK LeadToolbarProc(pTOOLBARHANDLE pToolbar,L_UINT nButtonID,L_UINT32 dwData,L_VOID *pUserData){switch ( nButtonID ){case ID_TOOL_PAINT_BRUSH:{MessageBox ( * ( HWND * ) pUserData, TEXT("BRUSH"), TEXT("Toolbar Message"), MB_OK ) ;}break ;case ID_TOOL_PAINT_SHAPE_LINE:{MessageBox ( * ( HWND * ) pUserData, TEXT("LINE"), TEXT("Toolbar Message"), MB_OK ) ;}break ;case ID_TOOL_PAINT_REGION_RECT:{MessageBox ( * ( HWND * ) pUserData, TEXT("RECT"), TEXT("Toolbar Message"), MB_OK ) ;}break ;}return SUCCESS ;}/* Global toolbar handle */pTOOLBARHANDLE g_pLeadToolbar ;L_INT ToolbarTest ( HWND hWnd ){static HWND hwndToolbarOwner ;/* Save the owner window handle */hwndToolbarOwner = hWnd ;/* Initiate the toolbar handle */L_TBInit ( &g_pLeadToolbar ) ;if (SUCCESS == L_TBIsValid ( g_pLeadToolbar ) ) /* check the validity of the toolbar handle */{/* Create the toolbar */L_TBCreate ( g_pLeadToolbar, hWnd, TEXT("Tools Window"), TOOLBAR_PAINT ) ;/* Show the toolbar */L_TBSetVisible ( g_pLeadToolbar, TRUE ) ;/* Set the toolbar callback with the owner window as the user defined data */L_TBSetCallback ( g_pLeadToolbar, LeadToolbarProc, ( L_VOID * ) &hwndToolbarOwner ) ;}return SUCCESS ;}