Back to Devexpress

TdxOfficeSearchBoxProperties.SearchSource Property

vcl-dxofficesearchbox-dot-tdxofficesearchboxproperties.md

latest6.2 KB
Original Source

TdxOfficeSearchBoxProperties.SearchSource Property

Specifies a source for UI item searches.

Declaration

delphi
property SearchSource: TComponent read; write;

Property Value

TypeDescription
TComponent

The source component for UI item search operations.

You can assign a TdxBarManager component or a TdxRibbon control as a search source.

|

Remarks

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.

Code Example: Display an Office Search Box in a Ribbon Form Caption

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:

delphi
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;
cpp
#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;
};

Default Value

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

TdxOfficeSearchBoxProperties Members

dxOfficeSearchBox Unit