Start with the project you created in Changing the Toolbar button State.
Add the following callback function before the WndProc function definition:
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_SHAPE_RECT:{MessageBox ( * ( HWND * ) pUserData, TEXT("RECT"), TEXT("Toolbar Message"), MB_OK ) ;}break ;case ID_TOOL_PAINT_SHAPE_ROUNDRECT:{MessageBox ( * ( HWND * ) pUserData, TEXT("ROUND RECT"), TEXT("Toolbar Message"), MB_OK ) ;}break ;case ID_TOOL_PAINT_SHAPE_BEZIER:{MessageBox ( * ( HWND * ) pUserData, TEXT("BEZIER"), TEXT("Toolbar Message"), MB_OK ) ;}break ;case ID_TOOL_PAINT_REGION_RECT:{MessageBox ( * ( HWND * ) pUserData, TEXT("RECT"), TEXT("Toolbar Message"), MB_OK ) ;}break ;case ID_TOOL_PAINT_FILL_SURFACE:{MessageBox ( * ( HWND * ) pUserData, TEXT("SURFACE"), TEXT("Toolbar Message"), MB_OK ) ;}break ;case ID_TOOL_PAINT_TEXT:{MessageBox ( * ( HWND * ) pUserData, TEXT("TEXT"), TEXT("Toolbar Message"), MB_OK ) ;}break ;}return SUCCESS ;}
Add the following function call to the WndProc function after the L_TBSetVisible function call in the WM_CREATE message:
// Set the toolbar callback with the owner window as the user defind dataL_TBSetCallback ( pToolbar, LeadToolbarProc, ( L_VOID * ) &hwndMain ) ;
Compile and run the project by selecting Build->Execute tutorial.exe from the menu.
Receiving Toolbar Events (Callback Functions)