vcl-dxofficesearchbox-dot-tdxofficesearchbox-1e13b1e7.md
Provides access to search box properties.
property Properties: TdxOfficeSearchBoxProperties read; write;
| Type | Description |
|---|---|
| TdxOfficeSearchBoxProperties |
Stores Office Search Box settings.
|
Use the Properties property to configure Office Search Box settings.
Use the Properties.SearchSource property to associate the Office Search Box with the required UI command source (a TdxRibbon control or a TdxBarManager component). Properties.RecursiveSearch and Properties.ShowResultPaths properties allow you to customize UI command search settings.
In addition, you can handle the OnDropDownMenuItemAdding event to exclude certain UI commands from displayed search results.
Refer to the TdxOfficeSearchBoxProperties class description for detailed information on all available options.
The following code example creates a TdxOfficeSearchBox editor, associates it with an existing TdxRibbon control, and embeds the created editor into the Ribbon Form caption:
uses
dxRibbonForm, // Declares the TdxRibbonForm class
dxOfficeSearchBox; // Declares the TdxOfficeSearchBox class
// ...
procedure TMyForm.FormCreate(Sender: TObject);
var
ABar: TdxBar;
ABarItem: TcxBarEditItem;
ASearchBoxProperties: TdxOfficeSearchBoxProperties;
AIconFolder: string;
begin
DisableAero := True; // Allows the DevExpress Skin Engine to draw non-client form areas
AIconFolder := 'C:\Program Files (x86)\DevExpress\VCL\ExpressLibrary\Sources\Icon Library\';
dxRibbon1.Style := rsOffice365; // Selects the Office 365 style with support for form caption toolbars
ABar := dxBarManager1.Bars.Add; // Creates a toolbar as a container for the Office Search Box
ABar.Visible := True; // Displays the created toolbar container
ABarItem := ABar.ItemLinks.AddItem(TcxBarEditItem).Item as TcxBarEditItem;
ABarItem.PropertiesClass := TdxOfficeSearchBoxProperties;
ASearchBoxProperties := ABarItem.Properties as TdxOfficeSearchBoxProperties;
ASearchBoxProperties.BeginUpdate; // Initiates the following batch change
try
ASearchBoxProperties.SearchSource := dxRibbon1; // Associates the Office Search Box with the Ribbon UI
ASearchBoxProperties.Nullstring := 'Tell me what you want to do...';
ASearchBoxProperties.UseNullString := True; // Displays the defined null string in the empty editor
ASearchBoxProperties.Glyph.LoadFromFile(AIconFolder + 'SVG Images\Icon Builder\Business_Idea.svg');
ASearchBoxProperties.Glyph.SourceWidth := 16; // Explicitly specifies the required glyph width
ASearchBoxProperties.Glyph.SourceHeight := 16; // Explicitly specifies the required glyph height
ASearchBoxProperties.ShowResultPaths := True; // Displays navigation paths to found UI commands
finally
ASearchBoxProperties.EndUpdate; // Calls EndUpdate regardless of the batch operation's success
end;
dxRibbon1.CaptionAreaSearchToolbar.Toolbar := ABar; // Displays the toolbar container in the caption area
dxRibbon1.CaptionAreaSearchToolbar.Alignment := TdxRibbonCaptionAreaSearchToolbarAlignment.Left;
end;
#include "dxRibbonForm.hpp" // Declares the TdxRibbonForm class
#include "dxOfficeSearchBox.hpp" // Declares the TdxOfficeSearchBox class
// ...
void __fastcall TMyForm::FormCreate(TObject *Sender)
{
TdxBar *ABar;
TcxBarEditItem *ABarItem;
TdxOfficeSearchBoxProperties *ASearchBoxProperties;
UnicodeString AIconFolder;
DisableAero = true; // Allows the DevExpress Skin Engine to draw non-client form areas
dxRibbon1->Style = rsOffice365; // Selects the Office 365 style with support for form caption toolbars
ABar = dxBarManager1->Bars->Add(); // Creates a toolbar as a container for the office search box
ABar->Visible = true; // Displays the created toolbar container
AIconFolder = "C:\\Program Files (x86)\\DevExpress\\VCL\\ExpressLibrary\\Sources\\Icon Library\\";
ABarItem = dynamic_cast<TcxBarEditItem*>(ABar->ItemLinks->AddItem(__classid(TcxBarEditItem))->Item);
ABarItem->PropertiesClass = __classid(TdxOfficeSearchBoxProperties);
ASearchBoxProperties = dynamic_cast<TdxOfficeSearchBoxProperties*>(ABarItem->Properties);
ASearchBoxProperties->BeginUpdate(); // Initiates the following batch change
try
{
ASearchBoxProperties->SearchSource = dxRibbon1; // Associates the office search box with the Ribbon UI
ASearchBoxProperties->Nullstring = "Tell me what you want to do...";
ASearchBoxProperties->UseNullString = true; // Displays the defined null string in the empty editor
ASearchBoxProperties->Glyph->LoadFromFile(AIconFolder + "SVG Images\\Icon Builder\\Business_Idea.svg");
ASearchBoxProperties->Glyph->SourceWidth = 16; // Explicitly specifies the required glyph width
ASearchBoxProperties->Glyph->SourceHeight = 16; // Explicitly specifies the required glyph height
ASearchBoxProperties->ShowResultPaths = true; // Displays navigation paths to found UI commands
}
__finally
{
ASearchBoxProperties->EndUpdate(); // Calls EndUpdate regardless of the batch operation's success
}
dxRibbon1->CaptionAreaSearchToolbar->Toolbar = ABar; // Displays the toolbar container in the caption area
dxRibbon1->CaptionAreaSearchToolbar->Alignment = TdxRibbonCaptionAreaSearchToolbarAlignment::Left;
};
See Also