TIEGlobalSettings.OnToolbarButtonExecute
Declaration
property OnToolbarButtonExecute: TIEActionEvent;
Description
Occurs whenever the user clicks a button of an in-built
toolbar or
popup menu. The default behaviour can be overriden by setting Handled to true.
It also handles the clicking of custom
buttons and
popup menu items.
Parameter | Description |
Sender | The affected action or clicked control. See details below |
ButtonID | The ID of the clicked button |
Handled | When False the default execute behaviour occurs. Set to true to apply your own execution code |
The Sender type will be one of the following:
◼TToolButton for
custom buttons
◼TMenuItem for
custom popup menu items
◼TComboBox showing a shape (IELayerShapeBox_Button_ID)
◼TPaintBox for colors, fonts, sizes, etc (IELayerFontColorSelect_Button_ID, IELayerFontBox_Button_ID, IELayerFillBox_Button_ID, IELayerBorderSizeBox_Button_ID, IELayerBorderColorBox_Button_ID, IEViewToolBrushSizeBox_Button_ID, IEViewToolColor_Button_ID, IEViewZoomBox_Button_ID, IERichEditFontColor_Button_ID, IERichEditFontBox_Button_ID)
◼TAction from the
ImageEn Actions Classes (all other types)
Note: Ensure you reset this event before destroying your form, e.g. IEGlobalSettings().OnAddToolbarButtonExecute := nil;
IEGlobalSettings().OnToolbarButtonExecute := Form1CustomButtonExecute;
IEGlobalSettings().OnToolbarButtonUpdate := Form1CustomButtonUpdate;
IEGlobalSettings().OnAddCustomToolbarButton := Form1AddCustomToolbarButton;
// Add a custom open button, and two other buttons to the right side of the toolbar
const
MY_HOME_BUTTON_ID = IECustom_Button_ID + 1;
MY_IMAGEINFO_BUTTON_ID = IECustom_Button_ID + 2;
MY_LOADRECENT_BUTTON_ID = IECustom_Button_ID + 3;
procedure TMainForm.Form1CustomButtonExecute(Sender: TObject; ButtonID: Integer; var Handled: Boolean);
begin
// Button Clicked
case ButtonID of
MY_HOME_BUTTON_ID : ShellExecute(Handle, nil, PChar('http://www.imageen.com'), nil, nil, SW_SHOWNORMAL);
MY_IMAGEINFO_BUTTON_ID : ShowMessage( Format( 'Image Size: %d x %d', [ ImageEnView1.IEBitmap.Width, ImageEnView1.IEBitmap.Height ]));
MY_LOADRECENT_BUTTON_ID : ImageEnView1.IO.LoadFromFile( fLastUsedFile );
end;
end;
procedure TMainForm.Form1CustomButtonUpdate(Sender: TObject; ButtonID:
Integer; var Handled: Boolean);
begin
// Set status of button
case ButtonID of
MY_IMAGEINFO_BUTTON_ID : TControl( Sender ).Enabled := not ImageEnView1.IsEmpty;
MY_LOADRECENT_BUTTON_ID : TControl( Sender ).Enabled := fLastUsedFile <> '';
end;
end;
procedure TMainForm.Form1AddCustomToolbarButton(Sender: TObject;
BeforeButtonID: Integer; var AddButton: Boolean; var BtnID: Integer; var
BtnCaption, BtnHint: string; var BtnImgID: Integer);
begin
if BeforeButtonID = -1 then // Right-side of toolbar
begin
AddButton := True;
BtnID := MY_HOME_BUTTON_ID;
BtnCaption := 'Home'; // Not usually used
BtnHint := 'Visit www.imageEn.com';
BtnImgID := ITBRES_HOMEOUTLINE_24;
end
else
if BeforeButtonID = MY_HOME_BUTTON_ID then // To Left of MY_HOME_BUTTON_ID
begin
AddButton := True;
BtnID := MY_IMAGEINFO_BUTTON_ID;
BtnCaption := 'About'; // Not usually used
BtnHint := 'About this Image';
BtnImgID := ITBRES_INFORMATIONOUTLINE_24;
end
else
if BeforeButtonID = IEViewSave_Button_ID then // To Left of "Save" button (after open)
begin
AddButton := True;
BtnID := MY_LOADRECENT_BUTTON_ID;
BtnCaption := 'Open Last File'; // Not usually used
BtnHint := 'Open Last File';
BtnImgID := ITBRES_FOLDERIMAGE_24;
end;
end;
See Also
◼OnToolbarButtonUpdate
◼OnActionExecute