vcl-dxofficesearchbox-dot-tdxofficesearchboxproperties.md
Specifies a source for UI item searches.
property SearchSource: TComponent read; write;
| Type | Description |
|---|---|
| TComponent |
The source component for UI item search operations.
You can assign a TdxBarManager component or a TdxRibbon control as a search source.
|
Assign a TdxBarManager component or a TdxRibbon control to the SearchSource property to allow users to search UI commands in your Ribbon or Toolbar UI.
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;
};
The SearchSource property’s default value is nil (in Delphi) or nullptr (in C++Builder).
See Also
TdxOfficeSearchBoxProperties.RecursiveSearch Property
TdxOfficeSearchBoxProperties.BarManager Property
TdxOfficeSearchBoxProperties.Ribbon Property
TdxOfficeSearchBoxProperties Class