TTMSFNCToolBarButton.OnDropDown Event
Fires when the drop-down popup opens.
API unit family: TMSFNCToolBar
Declaring type: TTMSFNCToolBarButton
Inherited from: TTMSFNCDefaultToolBarButton
Type: TNotifyEvent
Syntax
property OnDropDown: TNotifyEvent;
__property System::Classes::TNotifyEvent OnDropDown = {read=FOnDropDown, write=FOnDropDown};
Usage examples
React to a button's dropdown lifecycle
Wires OnBeforeDropDown, OnDropDown, and OnCloseDropDown, and opens or closes the dropdown from code.
procedure TForm1.ConfigurePaletteButton;
begin
FPalette := TMSFNCToolBar1.AddButton(120, 32, '', '', 'Palette');
// ddkDropDown: the arrow opens the popup while the main area still fires OnClick.
FPalette.DropDownKind := ddkDropDown;
FPalette.DropDownControl := TMSFNCColorPicker1;
FPalette.DropDownWidth := 220;
FPalette.DropDownHeight := 240;
FPalette.OnClick := PaletteClick; // main-area click
FPalette.OnBeforeDropDown := PaletteBeforeDropDown; // cancel/prepare before it opens
FPalette.OnDropDown := PaletteOpened; // fired after it opens
FPalette.OnCloseDropDown := PaletteClosed; // fired after it closes
TMSFNCToolBar1.Build;
end;
procedure TForm1.PaletteBeforeDropDown(Sender: TObject);
begin
{ Refresh the palette contents just before the popup appears. }
end;
procedure TForm1.PaletteOpened(Sender: TObject);
begin
{ The dropdown is now visible. }
end;
procedure TForm1.PaletteClosed(Sender: TObject);
begin
{ The dropdown has closed. }
end;
procedure TForm1.ShowPaletteFromCode;
begin
// Open and close the dropdown programmatically.
FPalette.DropDown;
// ...later:
FPalette.CloseDropDown;
end;
void __fastcall TForm1::ConfigurePaletteButton()
{
FPalette = TMSFNCToolBar1->AddButton(120, 32, "", "", "Palette");
// ddkDropDown: the arrow opens the popup while the main area still fires OnClick.
FPalette->DropDownKind = ddkDropDown;
FPalette->DropDownControl = TMSFNCColorPicker1;
FPalette->DropDownWidth = 220;
FPalette->DropDownHeight = 240;
FPalette->OnClick = PaletteClick; // main-area click
FPalette->OnBeforeDropDown = PaletteBeforeDropDown; // cancel/prepare before it opens
FPalette->OnDropDown = PaletteOpened; // fired after it opens
FPalette->OnCloseDropDown = PaletteClosed; // fired after it closes
TMSFNCToolBar1->Build();
}
void __fastcall TForm1::PaletteBeforeDropDown(TObject *Sender)
{
// Refresh the palette contents just before the popup appears.
}
void __fastcall TForm1::PaletteOpened(TObject *Sender)
{
// The dropdown is now visible.
}
void __fastcall TForm1::PaletteClosed(TObject *Sender)
{
// The dropdown has closed.
}
void __fastcall TForm1::ShowPaletteFromCode()
{
// Open and close the dropdown programmatically.
FPalette->DropDown();
// ...later:
FPalette->CloseDropDown();
}