Overview

What's New in v2 Known Issues and Important Changes List

Want to create stunning user interfaces?
Want to simplify navigation within your apps?
Want to incorporate the newest look and feel in your projects?

If you answered yes to any of these questions, then welcome to the ExpressNavBar v2 - Our 100% VCL component suite, built from the ground up and fully optimized for Delphi and C++ Builder.

Providing easy and intuitive navigation options within an application is the goal of every software developer. The ExpressNavBar v2 gives you everything you need to create easy to use applications with incredible sophistication and elegance. Via its advanced design-time editor, you can quickly setup and create the look and feel of choice without writing a single line of code – and deliver applications that will blow away your competition.

From the look and feel of Windows® XP and Visual Studio .NET to Windows® Vista™, and the latest Microsoft Office® solutions, the ExpressNavBar v2 offers you a myriad of interface options, so you can write less code and deliver more!

Total Control, Flexibility and Power
The No Limits Navigation Bar

Important Note: The ExpressNavBar Suite v2 uses the GDI+ library to enable color gradient and transparency effects, and requires the GDI+ library to be installed. Gdiplus.dll is included with Windows XP and Vista. GDI+ is available as a redistributable file for Windows NT 4.0 SP6, Windows 2000, Windows 98, and Windows Me. To download the latest redistributable, see http://www.microsoft.com/downloads/details.aspx?FamilyID=6a63ab9c-df12-4d41-933c-be590feaa05a&DisplayLang=en.


What's New in v2

What’s New in v2

Known Issues and Important Changes List

This topic provides a brief overview of the new features introduced in the ExpressNavBar Suite v2.

  • Eight New Views

    • Microsoft Office® 2007 Views – New Explorer Bar View and Navigation Pane View, with the ability to apply three color schemes via the View.ColorSchemeName property (one for each paint style available within Microsoft Office – Blue, Black, and Silver). This gives you six different View types.

    • An Explorer Bar View similar to the Navigation Pane in Microsoft Windows® Vista’s Windows Explorer.

    • An Explorer Bar View that complements the Office 2003 Navigation Pane View.

    • You can make an entire Navigation Pane collapsible via the OptionsBehavior.NavigationPane.Collapsible option.

  • Option Sets

To improve ease of use, the NavBar control, group, and item published options controlling the functionality and appearance have been grouped into option sets. Old options are still available. Refer to the Known Issues and Important Changes List help topic for details.

  • Keyboard Support

    • Navigation – End-users can move through groups, item links, and an overflow panel’s elements using the keyboard. To enable this feature, set the NavBar.TabStop property to True.

    • Accelerator Keys – You can now allow end-users to expand/collapse groups, and access their items by pressing Alt+key combinations.

  • Images for Hot-Tracked and Disabled Items and Groups

In addition to caption styles, you can now provide images for hot-tracked and disabled item and group states. For this purpose, use the OptionsImage.HotLargeImages, OptionsImage.HotSmallImages, OptionsImage.DisabledLargeImages, and OptionsImage.DisabledSmallImages collections. Items or groups are automatically associated with corresponding images, using the image index specified for items or groups in the normal state (the LargeImageIndex and SmallImageIndex properties).

  • Separators Between Item Links

Separators are specially designed items. As with items, you can create links to separators and arrange them within groups. Separator links are displayed in groups as horizontal lines.

  • Adjustable Group Height in Explorer Bar Views

Vertical resizing via splitters can be enabled for groups with embedded controls. You can enable this feature via a group's OptionsGroupControl.AllowControlResizing option.

  • Customizable Group Vertical Alignment in Explorer Bar Views

You can align groups to the top and bottom edges of the NavBar control. To accomplish this, use a group’s Align option.

  • Ability to Prohibit End-User Group Customization in Navigation Pane Views

Disable the OptionsView.NavigationPane.AllowCustomizing option, to remove the "Add or Remove Buttons" item from the Navigation Pane's context menu.

  • Customizable Element Visibility in Navigation Pane Views

You can customize the visibility of an overflow panel and its header section via the OptionsView.NavigationPane.ShowOverflowPanel and OptionsView.NavigationPane.ShowHeader properties.

  • Design-Time Improvements

  • You can easily access group and item properties in the Object Inspector by clicking specially designed selectors.

  • Enhanced Editor Dialog UI.

  • You can manage all the available custom styles via the OptionsStyle.CustomStyleRepository collection editor.

  • To improve your design-time experience, all OnCustomDraw~ events have been grouped into the OnCustomDraw persistent property.

  • Minor Enhancements

    • Support for Windows Vista themes.

    • Fixed an overflow panel’s height, to mimic the behavior found in Microsoft Office.

    • Increased item indent in Explorer Bar Views.

    • The issue related to incorrect group order in visually inherited forms has now been addressed.


Known Issues and Important Changes List

What's New in v2

1. To improve ease of use, the NavBar control, group, and item published options controlling the functionality and appearance have been grouped into option sets. Old options are still available as public properties. All changes are listed below.

  • NavBar control options

These options have been grouped into the following option sets: Cursors, OptionsBehavior, OptionsImage, OptionsStyle, and OptionsView. In addition, all View-specific options within these sets are grouped by corresponding View types.

Option | New Location
AllowSelectLinks | OptionsBehavior.SideBar.AllowSelectLinks
Cursor | Cursors.Cursor
DefaultStyles | OptionsStyle.DefaultStyles
DragCopyCursor | Cursors.DragCopyCursor
DragCursor | Cursors.DragCursor
DragDropFlags | OptionsBehavior.Common.DragDropFlags
EachGroupHasSelectedLink | OptionsBehavior.SideBar.EachGroupHasSelectedLink
HotTrackedGroupCursor | Cursors.HotTrackedGroupCursor
HotTrackedLinkCursor | Cursors.HotTrackedLinkCursor
LargeImages | OptionsImage.LargeImages
NavigationPaneMaxVisibleGroups | OptionsView.NavigationPane.MaxVisibleGroups
NavigationPaneOverflowPanelUseSmallImages | OptionsView.NavigationPane.OverflowPanelUseSmallImages
ShowGroupCaptions | OptionsView.Common.ShowGroupCaptions
ShowGroupsHint | OptionsBehavior.Common.ShowGroupsHint
ShowLinksHint | OptionsBehavior.Common.ShowLinksHint
ShowNavigationPaneOverflowPanelHints | OptionsBehavior.NavigationPane.ShowOverflowPanelHints
ShowSpecialGroup | OptionsView.ExplorerBar.ShowSpecialGroup
SmallImages | OptionsImage.SmallImages
SpaceBetweenGroups | OptionsView.ExplorerBar.SpaceBetweenGroups
StyleBackground | OptionsStyle.CustomStyles.Background
StyleButton | OptionsStyle.CustomStyles.Button
StyleButtonHotTracked | OptionsStyle.CustomStyles.ButtonHotTracked
StyleButtonPressed | OptionsStyle.CustomStyles.ButtonPressed
StyleDropTargetGroup | OptionsStyle.CustomStyles.DropTargetGroup
StyleDropTargetLink | OptionsStyle.CustomStyles.DropTargetLink
StyleHint | OptionsStyle.CustomStyles.Hint
StyleNavigationPaneHeader | OptionsStyle.CustomStyles.NavigationPaneHeader
Styles | OptionsStyle.CustomStyles

  • Group options

These options have been grouped into the following option sets: CustomStyles, OptionsExpansion, and OptionsGroupControl.

Option | New Location
Expandable | OptionsExpansion.Expandable
Expanded | OptionsExpansion.Expanded
ShowExpandButton | OptionsExpansion.ShowExpandButton
ShowControl | OptionsGroupControl.ShowControl
StyleBackground | CustomStyles.Background
StyleControl | CustomStyles.Control
StyleHeader | CustomStyles.Header
StyleHeaderActive | CustomStyles.HeaderActive
StyleHeaderActiveHotTracked | CustomStyles.HeaderActiveHotTracked
StyleHeaderActivePressed | CustomStyles.HeaderActivePressed
StyleHeaderHotTracked | CustomStyles.HeaderHotTracked
StyleHeaderPressed | CustomStyles.HeaderPressed
UseControl | OptionsGroupControl.UseControl

  • Item options

All style options have been moved into an item’s CustomStyles option set.

Option

New Location

Style

CustomStyles.Item

StyleDisabled

CustomStyles.ItemDisabled

StyleHotTracked

CustomStyles.ItemHotTracked

StylePressed

CustomStyles.ItemPressed

2. The NavBar implementation of the hint handling mechanism has been removed. NavBar controls now support the standard hint manipulation engine provided by TApplication. This allows you to customize the appearance and behavior of link and group hints at the application level via:

  • Standard options, including TApplication members and global variables.

  • Advanced options provided by the TcxHintStyleController component shipped with the ExpressEditors Library.

As a result, the following modifications have been made:

  • The dxNavBarHintShowingInterval global variable has been removed.

  • TdxCustomNavBar class.

The following protected members have been removed:

FNavigationPaneOverflowPanelHotTrackedIndex: Integer; FNavigationPaneOverflowPanelPressedIndex: Integer; FNavigationPaneOverflowPanelSignHotTracked: Boolean; FNavigationPaneOverflowPanelSignPressed: Boolean;

procedure DoNavigationPaneOverflowPanelHintsActivate; virtual;

procedure DoGroupHintActivate; virtual;

procedure DoLinkHintActivate; virtual;

procedure DoHintActivate;

procedure DoHintDeactivate; virtual;

property HintWindow: TdxNavBarHintWindow;

property HintWindowShowing: Boolean;

  • TdxNavBarViewInfo class.

The following protected methods have been removed:

procedure RecalculateHint; virtual;

procedure DoShowPopupMenu(X, Y: Integer); virtual;

function GetHintRect: TRect; virtual;

function GetHintText: string; virtual;

function GetGroupHintRect(AGroup: TdxNavBarGroup): TRect; virtual;

function GetGroupHintText(AGroup: TdxNavBarGroup): string; virtual;

function GetLinkHintRect(ALink: TdxNavBarItemLink): TRect; virtual;

function GetLinkHintText(ALink: TdxNavBarItemLink): string; virtual;

function HintDelay: Integer; virtual;

  • TdxNavBarPainter class.

The following public functions have been removed:

function HintWindowCanvas: TCanvas;

function HintWindowDC: HDC;

The following public methods now require parameters:

procedure DrawHintWindow(AHintWindow: TdxNavBarHintWindow); virtual;

procedure DrawGroupHintWindow(ACanvas: TCanvas; const ARect: TRect); virtual;

procedure DrawLinkHintWindow(ACanvas: TCanvas; const ARect: TRect); virtual;

3. Changes to the dxNavBarGraphics unit:

  • All View-specific painters were moved from this unit to corresponding View units, including the following new units: dxNavBarBaseViews, dxNavBarSkinBasedViews, dxNavBarOffice12Views, dxNavBarVistaViews.

  • NavBar element painters were moved to the dxNavBarBaseViews unit and a new dxNavBarCustomPainters unit, and renamed as follows:

Old Name

New Name

New Location

TdxBaseBackgroundPainter

TdxNavBarCustomBackgroundPainter

dxNavBarCustomPainters

TdxBaseButtonPainter

TdxNavBarCustomButtonPainter

dxNavBarCustomPainters

TdxBaseDropTargetLinkPainter

TdxNavBarCustomDropTargetLinkPainter

dxNavBarCustomPainters

TdxBaseDropTargetGroupPainter

TdxNavBarCustomDropTargetGroupPainter

dxNavBarCustomPainters

TdxBaseGroupBackgroundPainter

TdxNavBarCustomGroupBackgroundPainter

dxNavBarCustomPainters

TdxBaseGroupBorderPainter

TdxNavBarCustomGroupBorderPainter

dxNavBarCustomPainters

TdxBaseHintPainter

TdxNavBarCustomHintPainter

dxNavBarCustomPainters

TdxBaseImagePainter

TdxNavBarCustomImagePainter

dxNavBarCustomPainters

TdxBaseScrollButtonsPainter

TdxNavBarCustomScrollButtonsPainter

dxNavBarCustomPainters

TdxBaseSelectionPainter

TdxNavBarCustomSelectionPainter

dxNavBarCustomPainters

TdxBaseSignPainter

TdxNavBarCustomSignPainter

dxNavBarCustomPainters

TdxNavBarBackgroundPainter

TdxNavBarCustomBackgroundPainter

dxNavBarCustomPainters

TdxNavBarButtonPainter

TdxNavBarBaseButtonPainter

dxNavBarBaseViews

TdxNavBarExplorerButtonPainter

TdxNavBarCustomButtonPainter

dxNavBarBaseViews

TdxNavBarHintPainter

TdxNavBarCustomHintPainter

dxNavBarCustomPainters

TdxNavBarImagePainter

TdxNavBarCustomImagePainter

dxNavBarCustomPainters

TdxNavBarScrollButtonsPainter

TdxNavBarBaseScrollButtonsPainter

dxNavBarBaseViews

TdxNavBarSelectionPainter

TdxNavBarBaseSelectionPainter

dxNavBarBaseViews

  • The dxNavBarHintWindowSizeCorrection and dxNavBarHintWindowTextOffset global constants were moved to the dxNavBar unit.

4. A TdxNavBarViewsFactory now provides access to registered Views by their identity values, not the index within the TdxNavBarViewsFactory.PainterClasses collection. So, instead of using the View factory’s IndexOfName function, use the GetIDFromName function.

5. The following classes were renamed:

Old Name

New Name

TdxBaseNavBarStyle

TdxNavBarBaseStyle

TdxNavBarStyles

TdxNavBarStyleRepository

6. TdxCustomNavBar now inherits from TcxControl. As a result, the following changes took place:

  • The Locked property has been removed. It was inherited from TCustomPanel.Locked, which now has no function in the NavBar control.

  • The MouseEnter and MouseLeave methods and the OnMouseEnter and OnMouseLeave events are now derived from the ancestor class.

7. A number of public properties were removed from the TdxCustomNavBar class. The following table lists removed properties and code equivalents that can be used instead.

Property Name

Code Equivalent in v2

NavigationPaneOverflowPanelHotTrackedIndex

if (dxNavBar.Controller.HotPart.MajorPartIndex = nbOverflowPanelItem) then

Result := dxNavBar.Controller.HotPart.MinorPartIndex

NavigationPaneOverflowPanelPressedIndex

if (dxNavBar.Controller.PressedPart.MajorPartIndex = nbOverflowPanelItem) then

Result := dxNavBar.Controller.PressedPart.MinorPartIndex

NavigationPaneOverflowPanelSignPressed

Result := (dxNavBar.Controller.PressedPart.MajorPartIndex = nbOverflowPanelSign)

EnableSplitterDragging

Result := (dxNavBar.Controller.PressedPart.MajorPartIndex = nbSplitter)

NavigationPaneOverflowPanelNavigationPaneSignHotTracked,

NavigationPaneOverflowPanelSignHotTracked

Result := (dxNavBar.Controller.HotPart.MajorPartIndex = nbOverflowPanelSign)

Also, the DoSplitterMouseDown, DoSplitterMouseUp, DoSplitterDrag, and DoOverflowPanelMouseMove methods were removed from the TdxCustomNavBar class.

8. The name of the UltraFlatExplorerView has been changed to UltraFlatExplorerBarView.

9. Changes to the TdxNavBarViewInfo class:

  • The following functions were moved from the TdxNavBarViewInfo class to the TdxNavBarOffice11NavPaneViewInfo class: IsPtNavigationPaneHeader, IsPtNavigationPaneOverflowPanel, IsPtNavigationPaneOverflowPanelSign, IsPtNavigationPaneSplitter, IsPtIncNavigationPaneOverflowPanelItemCount, and IsPtDecNavigationPaneOverflowPanelItemCount.

  • The GetNavigationPaneOverflowPanelItemIndexAtPos and GetNavigationPaneOverflowPanelGroupAtPos functions were removed. The following table lists removed functions and code equivalents that can be used instead.

Function Name

Code Equivalent in v2

GetNavigationPaneOverflowPanelItemIndexAtPos(pt: TPoint)

type

TdxNavBarControllerAccess = class(TdxNavBarController);

var

APart: TdxNavBarPart; AViewInfo: TdxNavBarNavigationPaneViewInfo; Result := -1;

AViewInfo := TdxNavBarNavigationPaneViewInfo(dxNavBar.ViewInfo);

if AViewInfo.IsPtNavigationPaneOverflowPanel(pt) then

begin

APart := TdxNavBarControllerAccess(dxNavBar.Controller).GetPartAtPos(pt);

if (APart.MajorPartIndex = nbOverflowPanelItem) then

Result := APart.MinorPartIndex;

end;

GetNavigationPaneOverflowPanelGroupAtPos(pt: TPoint)

type

TdxNavBarControllerAccess = class(TdxNavBarController);

var

APart: TdxNavBarPart; AViewInfo: TdxNavBarNavigationPaneViewInfo;

Result := nil;

AViewInfo := TdxNavBarNavigationPaneViewInfo(dxNavBar.ViewInfo);

if AViewInfo.IsPtNavigationPaneOverflowPanel(pt) then

begin

APart := TdxNavBarControllerAccess(dxNavBar.Controller).GetPartAtPos(pt);

if (APart.MajorPartIndex = nbOverflowPanelItem) then

Result := AViewInfo.OverflowPanelItems[APart.MinorPartIndex].Group;

end;

  • The GetGroupCaptionSignSize and GetHeaderHeightAddon functions are no longer class functions.

  • The GetGroupCaptionSignSize function now returns a TSize object.

10. The sFocused value has been added to the TdxNavBarObjectState enumerated type. Refer to this type description to learn more.

11. To improve design-time experience, all OnCustomDraw~ events have been grouped into the OnCustomDraw persistent property. This doesn’t affect event handler code in existing projects.


Step 1 - Creating a Layout

This topic will guide you through the process of creating NavBar layouts. It describes how you can customize collections of groups, items and create links between them.

Follow the steps listed below:

1. Create a new application.

2. Place a NavBar control onto a form. Double-click the NavBar control or right-click the control and select ExpressNavBar Editor… from the popup menu. This will invoke the NavBar Designer dialog.

3. As you can see, the Groups Designer section is active. Click the [image] button twice. This will add two groups to the control's groups collection. Click a group name to access its properties and events. Change the Caption property value of groups to 'Help Topics' and 'Other Places' respectively.

4. Click the Items link. Click the [image] button five times to add five new items. Click item names to access properties and events of corresponding items. Change the Caption property of added items to 'Index', 'Contents', 'My Computer', 'My Network Places' and 'Control Panel' respectively.

5. Click the Link designer link. A list of available groups and items will be displayed.

6. Drag the Index (dxNavBar1Item1) and Contents (dxNavBar1Item2) items to the Help Topics (dxNavBar1Group1) group. The My Computer (dxNavBar1Item3), My Network Places (dxNavBar1Item4) and Control Panel (dxNavBar1Item5) items must be dragged to the Other Places (dxNavBar1Group2) group. Note that an item can be dragged to more than one group and can be dragged to the same group multiple times.

7. Click the Views link and select the desired View from the combo box (the XPExplorerBarView in our case). The selected View automatically applies to the NavBar control.

8. Run the application. Click group headers to expand/collapse groups. The look & feel of the NavBar control is displayed in the image below.

In this step of the Quick Start tutorial, a layout was created for the NavBar control. Please refer to the Step 2 - Assigning Images and Step 3 - Modifying Styles topics to discover ways in which to display images within links and customize control element styles.


Step 2 - Assigning Images

This topic will guide you through the process of assigning images to links. You should review Step 1 of the tutorial before proceeding.

The look & feel of the NavBar control after making the modifications in the previous step of the tutorial is displayed in the image below.

Follow the instructions below:

1. Place a TImageList component onto a form and add three 16x16 icons to it. These will be used as small images for the first group and its links.

Note: For 32-bit images, use the TcxImageList component shipped with the Express Cross Platform Library.

2. Assign the modified ImageList component to the NavBar control’s OptionsImage.SmallImages property.

3. Place one more TImageList component onto a form. Set its Height and Width properties to 32. Add four 32x32 icons to it. These will be used as large images for the second group and its links. Assign the modified component to the NavBar control’s OptionsImage.LargeImages property.

4. Invoke the NavBar Designer dialog. Click the Groups link. For the first group, leave its LinksUseSmallImages property set to its default True value. This specifies that the first group’s links will use small images. Set the LinksUseSmallImages property of the second group to False. Links of the second group will change their arrangement to use large images.

5. Click the Items link. Set the SmallImageIndex property of the Index (‘dxNavBarItem1’) and Contents (‘dxNavBarItem2’) items to 0 and 1 respectively. These items will use the first and second images from the image list assigned to the control’s OptionsImage.SmallImages property.

6. Set the LargeImageIndex property of the My Computer (‘dxNavBarItem3’), My Network Places (‘dxNavBarItem4’) and Control Panel (‘dxNavBarItem5’) items to 0, 1 and 2 respectively. These items will use images from the image list assigned to the control’s OptionsImage.LargeImages property.

7. Click the Groups link. Make certain that the UseSmallImages property of the first group is set to True (the default value). Assign a small image to the SmallImageIndex property of the first group by setting this property value to 2. The group will use image from the image list assigned to the control’s OptionsImage.SmallImages property.

8. Set the UseSmallImages property of the second group to False. Note that this increases the gap before the group even if no image is assigned to the group’s LargeImageIndex property.

9. Assign a large image to the LargeImageIndex property of the second group by setting this property to a value of 3. The group will use image from the image list assigned to the control’s OptionsImage.LargeImages property.

10. Run the application. The look & feel of the NavBar control is displayed in the image below.

You can now proceed to the Step 3 - Modifying Styles topic to learn how to customize NavBar element styles.


Step 3 - Modifying Styles

If you have not already done so, please review the previous two steps of this Quick Start tutorial: Step 1 - Creating a Layout and Step 2 - Assigning Images.

The look & feel of the NavBar control after making the modifications in the previous two steps is displayed in the image below.

Follow the instructions below:

1. Run the designer. Click the Views link and select the UltaFlatExplorerView item within the list. This will change the paint style of the NavBar control.

2. Click the Default styles link. Click the Background item of the list box. Set both the AlphaBlending and AlphaBlending2 properties to 0. This will make the control's background absolutely transparent.

3. Assign an image to the Image property. It will be displayed as the control's background since its back color is transparent.

4. Make sure that the Default styles designer is active. Set the BackColor and BackColor2 properties of the GroupHeader and GroupHeaderActive items to clSilver and clWhite respectively. This will apply the same style to all the group headers when they are in a normal or active state (not hot-tracked or pressed). Note that group captions are filled with a gradient brush, since both the BackColor and BackColor2 properties are specified.

5. As you can see changes of default styles has been applied to all groups of the NavBar control. However, you can also assign styles to each individual group and item by using custom styles. Let's create a custom style with transparent background and assign it to the second group. Invoke the designer again. Click the Custom styles link. Click the [image] button to add a new custom style to the control's style collection. Set the new style's Style.AlphaBlending and Style.AlphaBlending2 properties to 0.

6. Click the Groups link. Set the CustomStyles.Background property of the first group to the 'dxNavBar1StyleItem1' custom style. The control's background image will be displayed as the group's background.

Click the Custom styles link once more. Add another custom style by clicking the [image] button. Set the style’s BackColor and BackColor2 properties to clWhite and clMoneyGreen. This will fill the element’s background with a gradient brush. Set the GradientMode property of the style to gmVertical to specify the direction for a linear gradient brush.

7. Click the Groups link. Assign the ‘dxNavBar1StyleItem2’ custom style to the second group's CustomStyles.Background property. The group’s background is filled with a gradient brush in a vertical direction.

8. Run the application. The control will have the look & feel displayed in the image below.


Group

Term list See Also

The NavBar control is comprised of groups. Groups are visual elements that have header and client areas. Group headers display explanatory information about the groups’ content. They can also be clicked by end users to hide/show the corresponding client areas.

Groups can serve for two purposes:

  • Displaying a set of links.

The NavBar control maintains collections of groups and items. You can display an item’s content within a group by creating a link between the desired item and the group. Please refer to the Linking Groups and Items topic for details on how to do this.

  • Embedding of controls into a group’s client area.

You can customize a group so that it serves as a container for controls. Please refer to the Embedding Controls into Groups topic for details.

The appearance and arrangement of groups depends upon the applied View.

Side Bar Views only display a single group’s contents at a time (the active group). Other groups are collapsed and only represented by their headers. Clicking on a collapsed group header expands that group and collapses the one previously active.

Explorer Bar Views are capable of displaying the contents of all groups (collapsed and expanded) at once. Groups are arranged one under another and can be expanded and collapsed independently.


Item

Term list See Also

Each NavBar control stores a collection of items that can be accessed via the Items property. This collection allows you to add, delete and access individual items represented by TdxNavBarItem objects. Such objects provide the data for the links displayed within the NavBar control. This data includes the caption, hint text and image displayed within a link and its style settings. These objects also provide properties controlling the behavior of the corresponding links (e.g. whether they are enabled, visible, etc).

When you create and customize items, the look and feel of the NavBar control is not affected. In order to display the contents of an item, a link must be created. A link connects an item and group and an item can have as many links as necessary.

The image below displays a collection of items and their corresponding links. Note that the Find and Replace items have two links, while the Contents item does not have any.

Note: Separators are a special kind of items. You can use them to categorize item links within groups.


Link

Term list See Also

NavBar items are displayed within a group with the help of links. A link is a TdxNavBarItemLink object which represents a reference to a specific item. The caption, hint text and image displayed by a link are obtained from properties of the corresponding item object.

You can create several links for one item within different groups. Clicking any of these links will activate the same item functionality, which is implemented via:

  • the Execute method of the action object assigned to the item’s Action property (this method fires the OnExecute event)

  • the item’s OnClick event.

For detailed information on link management, please refer to the Selecting and Clicking Links topic.

Each group stores its internal collection of links. You can access individual links via the Links property of a group.

The following image shows the relationship between a group, item and link.


Active Group

Term list See Also

Active group applies only to Side Bar Views which display the contents of a single group at a time. When a user clicks a group header, the group is automatically activated. You can determine the current active group via the ActiveGroup property. The ActiveGroupIndex property allows you to get/set the active group at design and runtime.

For Explorer Bar Views, the active group has different uses: it is not changed automatically as a result of end-user manipulations such as clicking the group header and/or its contents. It is used for display purposes only. That is, you can make a specific group active and then apply a distinct style for this group via the NavBar control’s OptionsStyle.DefaultStyles.GroupHeaderActive or the group’s CustomStyles.HeaderActive properties. Additionally, you can specify the hot-tracked and pressed header styles for active groups using the NavBar control’s OptionsStyle.DefaultStyles.GroupHeaderActiveHottracked and OptionsStyle.DefaultStyles.GroupHeaderActivePressed properties or the group’s CustomStyles.HeaderActiveHotTracked and CustomStyles.HeaderActivePressed properties. Note that the style settings specified are only used if the control’s OptionsView.ExplorerBar.ShowSpecialGroup property value is True.


Expanded Group

Term list See Also

Explorer Bar Views enable expanding/collapsing of NavBar groups. An expanded group provides access to its links so that a user can work with them. The OptionsExpansion.Expanded property of a group allows you to expand/collapse the group in code.

For Side Bar Views, this property is not in effect. You can still open the required group via the ActiveGroup or ActiveGroupIndex properties.


Group Header

Term list

A group header is displayed at the top of the group and is used to show the group caption, group image, and group header sign. Note that Side Bar Views do not support group images and header signs.

The following image displays two groups with headers within the ExplorerBarView:

A NavBar group allows you to display either a small or large image within its header. Use the group’s LargeImageIndex and SmallImageIndex properties to associate images with a particular group. The NavBar control will use one of them based on the UseSmallImages property value.

Clicking a group header in Explorer Bar Views expands or collapses the corresponding group. In Side Bar Views, this results in making the corresponding group active (currently visible) while hiding the previously active one.


Large Images

Term list

NavBar groups and items can be associated with two images: large and small.

An item is presented within a group with the help of a link object which displays the item’s image (large or small) along with the item’s Caption. The type of image used is specified by the group’s LinksUseSmallImages property. Set it to False to make links within this group use large images. In this instance, each link is represented by a large image and the caption is displayed below.

Group images are supported only by Explorer Bar Views, SkinNavigationPaneView, Office11TaskPaneView, Office11NavigationPaneView, and Office12NavigationPaneView. They are displayed to the left of the group caption within a group header. If you want a specific NavBar group to use a large image instead of a small one, set the group’s UseSmallImages property to False.

To provide large images for certain item and group states (normal, disabled, and hot-tracked), use the NavBar control’s OptionsImage.LargeImages, OptionsImage.DisabledLargeImages, and OptionsImage.HotLargeImages collections.

To associate large images with a group or item, use the LargeImageIndex property. Items or groups are automatically associated with corresponding images, using the image index specified for items or groups in the normal state (the LargeImageIndex property).

The following screenshot shows a NavBar group with large images used by links and the group:


Small Images

Term list

NavBar groups and items can be associated with two images: large and small.

An item is presented within a group with the help of a link object which displays the item’s image (large or small) along with the item’s Caption. The type of image used is specified by the group’s LinksUseSmallImages property. Set it to True to make links within this group use small images. In this instance, links are represented by small images and captions. Captions are displayed to the right of images.

Group images are supported only by Explorer Bar Views, SkinNavigationPaneView, Office11TaskPaneView, and Office11NavigationPaneView. They are displayed to the left of the group caption within a group header. Set the group’s UseSmallImages property to True in order to make this group use a small image instead of a large image.

To provide small images for various certain item and group states (normal, disabled, and hot-tracked), use the NavBar control’s OptionsImage.SmallImages, OptionsImage.DisabledSmallImages, and OptionsImage.HotSmallImages collections.

To associate small images with a group or item, use the SmallImageIndex property. Items or groups are automatically associated with corresponding images, using the image index specified for items or groups in the normal state (the SmallImageIndex property).

The following screenshot shows a NavBar group with small images used by links and the group:


Icon View

Term list See Also

Side Bar Views allow you to display group links as icons. In this instance, links are arranged into rows. When this layout is applied, only link images (without captions) are displayed. To activate this layout, set the ShowAsIconView property of a NavBar group to True.

The following images show you the difference between an icon and regular layouts:

Regular view | Icon view


Group Hint

Term list See Also

The purpose of a group hint is to give a user a brief description of the current group. Use the Hint property of a NavBar group to specify the group hint. The hint appears when a user positions the mouse cursor over the group header and the OptionsBehavior.Common.ShowGroupsHint property of the control is set to True.

The following image shows the "Local" group with its displayed hint:

The OnGetGroupHint event allows you to change hint text dynamically. It is fired before a hint is displayed for individual groups.

You can specify the style for the hint box (background colors, font settings, alignment, etc) via the OptionsStyle.DefaultStyles.Hint and OptionsStyle.CustomStyles.Hint properties. These properties affect both group and link hints. There is also an OnCustomDraw.GroupHint event which you can handle to implement custom draw of the group hint box.

Note: To provide centralized control over the appearance and behavior of hints in your application or form, use the TcxHintStyleController component shipped with the ExpressEditors Library.


Link Hint

Term list See Also

A link hint is displayed when a user positions the mouse cursor over a link. It is specified by the Hint property of the item to which the current link refers. To enable link hints, set the NavBar control’s OptionsBehavior.Common.ShowLinksHint property to True.

Link hints are especially useful when a group uses icon layout (without captions) to display its links. The following image shows such a View with a hint for the last link:

The OnGetLinkHint event allows you to change hint text dynamically. It is fired before a hint is displayed for individual links.

You can specify the style for the hint box (background colors, font settings, alignment, etc) via the OptionsStyle.DefaultStyles.Hint and OptionsStyle.CustomStyles.Hint properties. These properties affect both group and link hints. The NavBar control declares an OnCustomDraw.LinkHint event which you can handle in order to provide a distinct style for link hints.

Note: To provide centralized control over the appearance and behavior of hints in your application or form, use the TcxHintStyleController component shipped with the ExpressEditors Library.


Default Style

Term list See Also

The NavBar control provides a set of default styles, which affect the appearance of its elements (background, scroll buttons, group headers, links/items and hint boxes). They are all set via the OptionsStyle.DefaultStyles property of the NavBar control.

The default style determines the appearance of all corresponding NavBar elements. For instance, the OptionsStyle.DefaultStyles.GroupBackground style affects the background of all NavBar groups.

However, you can provide a separate style for individual NavBar elements by using custom styles. For instance, you can provide an individual style for the background of a specific NavBar group. Refer to the Assigning Styles to Elements topic for more.

The following image shows the NavBar control displaying three groups. Custom styles are assigned to the Temp group using the group’s CustomStyles.Background and CustomStyles.Header properties. Other groups are painted according to default style settings.

Default styles are determined by the current View assigned to the control via the View property. Each time a new View is assigned, the OptionsStyle.DefaultStyles property attributes are set according to the View settings. These attributes are hardcoded, which means that changes made to the OptionsStyle.DefaultStyles attributes are temporary and are immediately discarded when a new View is applied.

You can avoid this by assigning custom styles to desired NavBar elements. In this instance, changing the current View influences only those NavBar elements, which were not affected by custom styles.


Custom Style

Term list See Also

You can use default and custom styles to customize the appearance of the NavBar control.

Default and custom styles are used to specify the color and font settings for corresponding NavBar elements. The difference between them is that default styles determine the appearance of all corresponding NavBar elements (all NavBar groups, links, hints and scroll buttons). The purpose of custom styles is to determine the appearance of individual NavBar elements.

The NavBar control enables you to set custom styles for the control itself, group and item objects. Custom styles are represented by a number of properties (their names start with the Style prefix). Refer to the Assigning Styles to Elements topic for more info.

The following image shows the NavBar control displaying three groups. Custom styles are assigned to the Temp group using the group’s CustomStyles.Background and CustomStyles.Header properties. Other groups are painted according to the default style settings.


View

Term list See Also

A NavBar control provides various types of control representations, which are called Views. There are various built-in Views, which allow you to display the control in a desired manner. You can implement a custom View as well. Refer to the Registering Custom Views topic for details.

A View designates the arrangement and appearance of NavBar elements (groups, links, and scroll buttons). It also determines the reaction of elements to user actions such as pressing, selecting and hovering over items. To assign a View to a NavBar, use the control’s View property.

All Views can be divided into two general categories:

  • Side Bar Views, which can display only the contents of a single group at a time.

  • Explorer Bar Views, which allow several groups to be simultaneously displayed within the control.

Each View provides its own default style settings, which determine the default appearance of the View. After a specific View is assigned to a NavBar control, you can access its default style settings via the OptionsStyle.DefaultStyles property. You can change any of the style attributes, but these changes do not persist after another View is assigned to the NavBar control. You can customize the appearance of NavBar elements by creating and applying custom styles via the OptionsStyle.CustomStyleRepository and OptionsStyle.CustomStyles properties. In addition to these style settings, you can completely custom paint NavBar elements by handling OnCustomDraw events.


Side Bar View

Term list See Also

All standard Views provided by the NavBar control are divided into two general categories: Side Bar Views and Explorer Bar Views. Side Bar Views also have a subcategory of Navigation Pane Views.

Side Bar Views display only the contents of a single group at a time. Group headers in such Views are displayed at the top and/or bottom sides of the NavBar control. Clicking a collapsed group's header expands the corresponding group, and collapses the previously expanded group.

A NavBar control provides the following Side Bar Views:

BaseView | FlatView | VSToolBoxView | XP1View

Office1View | Office2View | Office3View | XP2View

Navigation Pane Views

Navigation Pane Views fall into a subcategory of Side Bar Views. These Views have similar a appearance and general behavior, except that Navigation Pane Views also provide the following UI elements for end-user layout customization: overflow panel, context menu, collapsed/expanded arrow, and splitter.

Office12NavigationPaneView

(Blue Color Scheme)

Office12NavigationPaneView

(Black Color Scheme)

Office12NavigationPaneView

(Silver Color Scheme)

Office11NavigationPaneView

When the NavBar control cannot display the entire contents of an active group, up and/or bottom scroll buttons appear allowing end-users to scroll the contents of the group.

Side Bar Views enable you to display group links as icons. In this instance, links are arranged into rows. When this layout is applied, only link images (without captions) are displayed. To activate this layout, set the ShowAsIconView property of the NavBar group to True.

The following images demonstrate the differences between regular and icon layouts:

Regular View | Icon View


Explorer Bar View

Term list See Also

All standard Views provided by the NavBar control are divided into two general categories: Side Bar Views and Explorer Bar Views.

Explorer Bar Views are capable of displaying contents of all NavBar groups at once. Groups are arranged one under another. Each of them can be collapsed and/or expanded independently.

The NavBar control provides the following standard Explorer Bar Views:

ExplorerBarView | UltraFlatExplorerBarView | AdvExplorerBarView | XPExplorerBarView

Office12ExplorerBarView

(Blue Color Scheme)

Office12ExplorerBarView

(Black Color Scheme)

Office12ExplorerBarView

(Silver Color Scheme)

Office11ExplorerBarView

Office11TaskPaneView

VistaExplorerBarView

If the NavBar control cannot display all groups, a scroll bar appears thus enabling scrolling.

We'd like to recognize the assistance of Nathanial Woolls of Victory Technologies (www.victorytechnologies.com) for his work on the XPExplorerBarView.


Group Header Sign

Term list See Also

A group header sign indicates the current expanded state of groups in Explorer Bar Views. A group header sign is represented by a double-arrow (up or down). If a group is expanded, an up-arrow is used. Otherwise, a down-arrow is displayed. However, you can implement custom draw of a group header and provide another image to be displayed instead of a double-arrow.


Scroll Button

Term list See Also

Scroll buttons are NavBar elements which enable scrolling of group contents. Only Side Bar Views support scroll buttons. In Explorer Bar Views, a standard scrollbar is used instead.

Scroll buttons appear when not all links can be displayed within a visible part of a NavBar group.


Navigation Pane's Header Section

Navigation Pane’s Header Section

Term list

Navigation Pane Views display a header section at the top. This section displays the currently active group’s caption. You can customize this section’s appearance and content, using the following NavBar control’s members:

  • OptionBehavior.NavigationPane.Collapsible property – displays a double arrow to collapse the Navigation Pane;

  • OptionStyles.DefaultStyles.NavigationPaneHeader property – specifies the header section’s default style;

  • OptionStyles.CustomStyles.NavigationPaneHeader property – specifies the header section’s appearance using a custom style;

  • OnCustomDraw.NavigationPaneHeader event – enables you to custom paint the header section.


Navigation Pane's Splitter

Navigation Pane’s Splitter

Term list

When using Navigation Pane Views, end-users can change the number of visible group headers by dragging the splitter displayed above the top visible header. The following NavBar control’s members can be used to customize the splitter’s appearance:

  • OptionStyles.DefaultStyles.NavigationPaneHeader property – specifies the splitter’s default style;

  • OptionStyles.CustomStyles.NavigationPaneHeader property – specifies the splitter’s appearance using a custom style;

  • OnCustomDraw.NavigationPaneSplitter event – enables you to custom paint the splitter.


Navigation Pane's Overflow Panel

Navigation Pane’s Overflow Panel

Term list

Navigation Pane Views allow end-users to change the number of visible group headers, using either the splitter or the built-in context menu. When a group’s header is made invisible, the group’s icon appears within the View’s overflow panel displayed at the bottom. Additionally, the overflow panel displays a sign used to invoke the context menu.

The overflow panel’s appearance can be customized using the following NavBar control’s members:

  • OptionStyles.DefaultStyles.GroupHeader property – specifies the overflow panel’s style;

  • OnCustomDraw.NavigationPaneOverflowPanel event – enables you to custom paint the overflow panel.


Navigation Pane's Context Menu

Navigation Pane’s Context Menu

Term list

The Navigation Pane’s context menu can be invoked by clicking a special sign within the overflow panel. This menu enables end-users to change the number of visible group headers, and toggle the visibility of groups. The menu’s structure is shown in the image below.

To prohibit end-user group customization, disable the NavBar control’s OptionsView.NavigationPane.AllowCustomizing option, to remove the "Add or Remove Buttons" item from the context menu.


Collapsed Navigation Pane

Term list See Also

To save form space, the Navigation Pane and the entire NavBar control can be collapsed in the same manner as the Navigation Pane in Microsoft Office® 2007.

When collapsed, the control displays the following elements to provide quick access to its elements:

  • The "Navigation Pane" button. Clicking this button invokes a popup window, which displays the active group’s contents. You can allow end-users to horizontally size the popup window to specify the NavBar control’s width in the expanded state. To enable this feature, set the control’s OptionsBehavior.NavigationPane.AdjustWidthByPopup property to True.

  • Buttons that correspond to visible items of the active group. If the control's height is not sufficient to fit all these items, only some of them will be displayed. To access all items, end-users have to click the "Navigation Pane" button.

  • Group headers of inactive groups, the overflow panel (if enabled), and the splitter. These elements provide the same functionality as in the expanded Navigation Pane.

To make the Navigation Pane collapsible, set the NavBar control’s OptionsBehavior.NavigationPane.Collapsible property to True. This displays a double arrow in the Navigation Pane’s header section.

Expanded

State

Collapsed

State

End-users can click this arrow to collapse and expand the Navigation Pane. Refer to the Expanding and Collapsing Navigation Panes help topic, to learn more.


Customizing Group Layout

See Also

The NavBar control provides the following capabilities for group layout customization:

  • Reordering. End-users can move groups within the NavBar control using drag and drop. To enable this, set the fAllowDragGroup and fAllowDropGroup options via the control’s OptionsBehavior.Common.DragDropFlags property. At design time, you can reorder groups via the Groups page in the NavBar designer. To accomplish this in code, use a group’s Index property.

  • Vertical Resizing in Explorer Bar Views. To enable splitters, which allow end-users to vertically resize groups with embedded controls, set a group’s OptionsGroupControl.AllowControlResizing property to True.

  • Vertical Alignment in Explorer Bar Views. You can align groups to the top or bottom edge of the NavBar control. To accomplish this, use a group’s Align property.


Embedding Controls into Groups

See Also

This topic provides an example of customizing a group so that it displays custom controls within its client area. It is supposed that before starting to follow this topic’s instructions you have an application open with a customized NavBar control on the form. The NavBar should have two groups as shown in the image below.

This example will add one more group to the NavBar control. The group’s client area will display two check boxes which can be used to show/hide other groups. The next image displays the result of following the instructions below.

Customize the NavBar control in this manner.

  • Right-click the NavBar control and choose the ExpressNavBar Editor… item of the context menu. This invokes the control’s designer. Click the Groups link within the dialog to display the list of available groups.

  • Click the [image] button to add a new group to the control. Set the group’s name to ‘grCustomize’.

  • Set the Caption property of the group to ‘Customize’.

  • Set the group’s OptionsGroupControl.UseControl property to True. This tells the NavBar to create a container control filling the group’s client area. Note that the control is visible since setting the OptionsGroupControl.UseControl property to True also assigns True to the OptionsGroupControl.ShowControl property.

  • Select the container control that is within the group just created. Use the Object Inspector to set its Caption property to an empty string.

  • Drag two check box controls to the group’s container control. Set their names to ‘chbHelp’ and ‘chbEdit’ and captions to ‘Show Help Topics Group’ and ‘Show Edit Group’. Set the Checked property of both check boxes to True.

  • Write the following handlers for the check box OnClick event handlers.

// Delphi

procedure TfrmNavBarDemo.chbHelpClick(Sender: TObject);

begin

// change the visibility of the Help Topics group with

// respect to the check box state

grHelpTopics.Visible := chbHelp.Checked;

end;

procedure TfrmNavBarDemo.chbEditClick(Sender: TObject);

begin

// change the visibility of the Edit group with

// respect to the check box state

grEdit.Visible := chbEdit.Checked;

end;

  • Run the application. Click the check boxes to hide and show the corresponding groups. The image below displays the result.


Expanding and Collapsing Groups

See Also

When an Explorer Bar View is applied to the NavBar control, groups can appear collapsed or expanded. When a group is collapsed, item links within this group are not visible. The expanded state of a group is determined via its OptionsExpansion.Expanded property. At design time, you can double-click a group’s selector to change the group’s expanded state.

Local group is collapsed | Local group is expanded

You can allow end-users to expand/collapse groups via the keyboard by adding accelerator keys to group captions. To add an accelerator key, place an ampersand ("&") before a character in the group’s caption. This will allow end-users to press Alt+<character> combination to expand/collapse this group.

If the TabStop property is set to True, end-users can move through groups, item links, and an overflow panel’s elements using the keyboard. Press Enter or Space while a group’s header is focused to expand/collapse this group.

The NavBar control behavior in Side Bar Views is similar to the behavior in Explorer Bar Views, except that the "expanded/collapsed group" term is replaced with "active/inactive group". Item links within the active group are visible, and within the inactive group are not. Only one group can be active at a time. The state of a NavBar group for Side Bar Views is determined via the ActiveGroup or the ActiveGroupIndex property. At design time, you can double-click a group’s selector to make this group active.

You can also handle the OnActiveGroupChanged event to process changing of the active group.

To respond to group expanding and collapsing, handle the Group.OnExpanded and Group.OnCollapsed events. An example of the event handlers is demonstrated below. The example code expand/collapses all groups within the NavBar control according to the bgLocal group state:

//Delphi

procedure TfmFeaturesMain.bgLocalExpanded(Sender: TObject);

var

I:Integer;

begin

with nbMain do

begin

for I := 0 to Groups.Count - 1 do

if not Groups[I].OptionsExpansion.Expanded then Groups[I].OptionsExpansion.Expanded := True;

end;

end;

procedure TfmFeaturesMain.bgLocalCollapsed(Sender: TObject);

var

I:Integer;

begin

with nbMain do

begin

for I := 0 to Groups.Count - 1 do

if Groups[I].OptionsExpansion.Expanded then Groups[I].OptionsExpansion.Expanded := False;

end;

end;


Links Arrangement

Link Arrangement

Icon and regular layouts

Links in NavBar Views can be displayed using two distinct layouts: the regular and icon layouts.

If the regular layout is applied, each link is represented by its image and caption, and links are arranged from top to bottom.

If the icon view is used, links are represented only by images and they are arranged across, and then down.

The group’s ShowAsIconView property determines the layout used by the group. When set to False (the default value), the regular layout is applied. Otherwise, a NavBar group arranges links using the icon layout.

Note that only Side Bar Views support the icon layout. The ShowAsIconView property in Explorer Bar Views is not used. These Views always use the regular link layout.

Small and large images

Links are presented within a group either by a small or large image. They get images from one of the two image lists specified by the NavBar control’s OptionsImage.SmallImages and OptionsImage.LargeImages properties and the choice depends upon the group’s LinksUseSmallImage attribute. If LinksUseSmallImage is set to True, all links within a group get images from the OptionsImage.SmallImages image list. Otherwise, the OptionsImage.LargeImages list is used.

A link does not store any information required for displaying itself within a group. Instead, a link obtains the necessary data from the item object to which it refers. The image index of the link is controlled by the item’s SmallImageIndex and LargeImageIndex properties. They specify image indexes within the OptionsImage.SmallImages and OptionsImage.LargeImages lists respectively.

The following screenshots show the same NavBar group when the LinksUseSmallImage property is set to True and False respectively:

The LinksUseSmallImage property is set to True | The LinksUseSmallImage property is set to False

Each NavBar group can also be associated with small or large images. A group image is displayed within the group header and this is supported only by Explorer Bar Views. Images are assigned to groups in the similar manner as for links. A NavBar group provides the SmallImageIndex and LargeImageIndex properties specifying the indexes of group images within the OptionsImage.SmallImages and OptionsImage.LargeImages lists respectively. A group will use either a small or large image depending on the UseSmallImages property.

The next image shows two groups. The first group displays a large image within its header, while the second group uses the small one.


Linking Groups and Items

In order to display an item within a particular NavBar group, you need to create a link for the item. Links belong to a group and represent references to particular items. All links owned by a specific NavBar group can be accessed using the NavBarGroup.Links collection.

Each link is represented by a TdxNavBarItemLink object. It provides the item being referred via its Item property.

You can easily create links for items at design time with the help of the Component editor. Double-click a NavBar control or select the ExpressNavBar Editor… option from the control’s context menu. This opens the editor. The following image shows the Component editor with the Link designer activated. It provides two panels. The right panel lists all available items. The left panel displays groups and links created. You can create a link for a specific item by dragging it from the Items panel onto the Group and links panel. Dropping an item within a specific group creates a link referring to this item.

Let us consider an example of creating groups, items and links at runtime. Three items (Inbox, Outbox and News) and two groups (Local and News) are added to the dxNavBar1 control.

To display the Inbox and Outbox items within the Local group, two links are created by the group’s CreateLink method. Similarly, the link for the News item is created within the News group. In addition, this code assigns a AdvExplorerBarView view to the NavBar control and specifies the external image lists from which groups and items obtain their images (the LargeImageIndex and SmallImageIndex properties of NavBar items and groups).

with dxNavBar1 do

begin

//Create items

with Items.Add do

begin

Caption := 'Inbox';

LargeImageIndex := 3; SmallImageIndex := 3;

//...

end;

with Items.Add do

begin

Caption := 'Outbox';

LargeImageIndex := 7; SmallImageIndex := 7;

//...

end;

with Items.Add do

begin

caption := 'News';

LargeImageIndex := 5; SmallImageIndex := 5;

//...

end;

//Create groups

with Groups.Add do

begin

Caption := 'Local';

LargeImageIndex := 4; SmallImageIndex := 4; LinksUseSmallImages := True; UseSmallImages := False;

//Create links for Inbox and Outbox items

CreateLink(Items[0]); CreateLink(Items[1]);

end;

with Groups.Add do

begin

Caption := 'News';

LargeImageIndex := 6; SmallImageIndex := 6; LinksUseSmallImages := False; UseSmallImages := True;

//Create a link for the News item

CreateLink(Items[2]);

end;

//Set the AdvExplorerBarView view

View := dxNavBarViewsFactory.GetIDFromName('AdvExplorerBarView');

//Assign image lists

LargeImages := LargeImageList; SmallImages := SmallImageList;

end;

The following screenshot shows results of the above code:


Selecting and Clicking Links

When navigating through the NavBar control item links, you can perform various link actions. You can click, select, move links within a group where they belong, etc. However, item link selection is not always possible. The ability to select links depends on several conditions:

  1. The first is the currently applied View (Explorer Bar Views don’t support link selections);

  2. The second is the NavBar control’s OptionsBehavior.SideBar.AllowSelectLinks property value must be set.

When item link selections are allowed, you can control selection within the NavBar control via several properties. The Group.SelectedLinkIndex property specifies the index of the currently selected item link within a specific group. If this property value is –1, then no link is selected within a group. If the NavBar control’s OptionsBehavior.SideBar.EachGroupHasSelectedLink property value is True, then each group can have a single selected link at the same time. Otherwise, there can be only a single selected link within the NavBar control. To determine the selection status of an individual item link use its IsSelected property.

You can handle the Group.OnSelectedLinkChanged event to process the selection changes within a specific group.

End-users can click links using the mouse or keyboard (via accelerator keys). To add an accelerator key to an item link, place an ampersand ("&") before a character in the item’s Caption. This will allow end-users to press Alt+<character> combination to click this item’s links.

If the TabStop property is set to True, end-users can move through groups, item links, and an overflow panel’s elements using the keyboard. Pressing the Enter or Space key while a link is focused, clicks this link.

There are several ways to process links clicking within a NavBar control:

  • Handling the Item.OnClick event;

  • Handling the NavBar control’s OnLinkClick event;

  • Handling the NavBar control’s OnLinkPress event;

  • Using the Item.Action property.

If you assign an instance of the TAction class or its descendant to the Item.Action property, then clicking an item link invokes the corresponding action. In this case link clicking is handled and additional operations are not required. Since there are many standard action types (they all can be created and managed via the TActionList component), you can easily implement the large number of actions via setting the Action property.

Note: if you assign an OnClick event handler, then the Action is not in effect.


Differences in Side Bar and Explorer Bar Views

A NavBar control provides a number of Views which define the appearance and arrangement of NavBar groups and links. All Views can be divided into two main categories: Side Bar Views and Explorer Bar Views. The main differences between them are listed as follows:

  • Group Arrangement

Side Bar Views display the contents of a single group at a time. This is the active group and can be accessed via the ActiveGroup property. Other groups are collapsed and represented only by their group buttons on the opposite sides of the control. Clicking a group button activates the corresponding group (displays its contents) and collapses the previously active group.

Explorer Bar Views are capable of displaying the contents of all groups at once. You can collapse/expand individual groups by a single click on the group header. The expanded status of a group is specified by its OptionsExpansion.Expanded property.

  • Link Arrangement

Side Bar Views support the icon layout. When this layout is applied to a NavBar group, only link images (no captions) are displayed, and links are arranged across, and then down. You can apply the icon layout by setting the group’s ShowAsIconView property to True.

Explorer Bar Views do not support the icon layout: a link is represented by a combination of its image and caption. Links are arranged from the top to the bottom.

  • Group Headers

The group header in a Side Bar View is a simple button displaying the group’s caption.

In addition to the group caption, group headers in Explorer Bar Views also display images associated with the group and the group header sign.


Expanding and Collapsing Navigation Panes

When a Navigation Pane View is applied to the NavBar control, the entire control can be collapsed, and then expanded to restore its size. Refer to the Collapsed Navigation Pane help topic to learn more about the collapsed state.

Expanded

State

Collapsed

State

In code, the expanded state can be changed via the control’s OptionsBehavior.NavigationPane.Collapsed property. End-users can accomplish this by clicking a double arrow displayed in the Navigation Pane’s header section, if the OptionsBehavior.NavigationPane.Collapsible property is enabled.

You can respond to changes made to the Navigation Pane’s expanded state by handling the OnNavigationPaneCollapsed and OnNavigationPaneExpanded events. The example code below demonstrates how to handle these events to modify the overflow panel’s visibility, and activate a certain group based on the Navigation Pane’s expanded state.

//Delphi

procedure TForm1.nbMainNavigationPaneCollapsed(Sender: TObject);

begin

nbMain.OptionsView.NavigationPane.ShowOverflowPanel := False;

nbMain.ActiveGroup := bgContacts;

end;

procedure TForm1.nbMainNavigationPaneExpanded(Sender: TObject);

begin

nbMain.OptionsView.NavigationPane.ShowOverflowPanel := True;

nbMain.ActiveGroup := bgMail;

end;

//C++ Builder

void __fastcall TForm1::nbMainNavigationPaneCollapsed(TObject *Sender)

{

nbMain->OptionsView->NavigationPane->ShowOverflowPanel = false;

nbMain->ActiveGroup = bgContacts;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::nbMainNavigationPaneExpanded(TObject *Sender)

{

nbMain->OptionsView->NavigationPane->ShowOverflowPanel = true;

nbMain->ActiveGroup = bgMail;

}


Registering Custom Views

The NavBar control owns the Views collection, which allows quick customizing of the NavBar control appearance. At design time, all Views are accessible via the Views page of the NavBar designer:

or via the published property View. The View property also allows assigning a View to the NavBar control at runtime. It specifies the index of the required View within the list of registered NavBar control Views.

You can use not only the predefined Views, but also create and use custom Views. This topic provides the basics of custom View creation.

Each View of the NavBar control has an associated painter class, descending from the TdxNavBarPainter class or one of its descendants. This painter class encapsulates a number of ViewInfo and painter classes implementing layout of the NavBar controls elements and their appearance. After the custom painter class is created, the corresponding View must be registered with a new unique ID and name.

Let us create a View, combining the Office1 and Office3 Views:

Notice, that the difference between the Office1 and Office3 Views is the link selection painting. We need to obtain the link selection bounds from the Office3 View and replace the selection painting with Office1 selection painting.

The painter class for our View will be inherited from the TdxNavBarOffice1Painter class. We need to override two protected class functions: SelectionPainterClass function returning a class, implementing the link selection painting, and LinkViewInfoClass function returning a class, containing the item link bounds.

//Delphi

unit dxNavBarMyOfficeView;

interface

uses

Windows, Graphics, dxNavBar, dxNavBarBaseViews, dxNavBarStyles, dxNavBarViewsFact, dxNavBarGraphics, dxNavBarOfficeViews, dxNavBarExplorerViews; dxNavBarCustomPainters;

TdxNavBarMyPainter = class(TdxNavBarOffice1Painter)

protected

//the following function returns the painter class for the link

//selection

class function SelectionPainterClass: TdxNavBarCustomSelectionPainterClass; override;

//the following function returns the ViewInfo class for the item

//link

class function LinkViewInfoClass: TdxNavBarLinkViewInfoClass; override;

end;

TdxNavBarMyOfficeLinkViewInfo = class(TdxNavBarLinkViewInfo)

public

//TdxNavBarMyOfficeLinkView class overrides the SelectionRect

//function, returning the link selection bounds

function SelectionRect: TRect; override;

end;

class function TdxNavBarMyPainter.SelectionPainterClass: TdxNavBarCustomSelectionPainterClass;

begin

//the SelectionPainterClass function returns the

// TdxNavBarBaseSelectionPainter class, implementing the link

// selection painting in Office1 View

Result := TdxNavBarBaseSelectionPainter;

end;

class function TdxNavBarMyPainter.LinkViewInfoClass: TdxNavBarLinkViewInfoClass;

begin

//the LinkViewInfoClass function returns the ViewInfo class for

//the item link

Result := TdxNavBarMyOfficeLinkViewInfo;

end;

function TdxNavBarMyOfficeLinkViewInfo.SelectionRect: TRect;

begin

//the following code returns the link selection bounds similar to

//the Office1 View

Result := Rect; InflateRect(Result, -1, -1);

end;

initialization

//custom View is registered with 20 as ID value and MyOfficeView as

//the name

RegisterView(20, 'MyOfficeView', TdxNavBarMyPainter);

finalization

//un-registers the MyOfficeView View using its ID

UnRegisterView(20);

end.

If you want to register a View so that it can be available at design time, the name of the unit containing the View implementation must be added to:

  • the uses section in one of the design time package units (typically the dxNavBarReg unit);

  • the implementation uses section in one of the runtime package units (typically the dxNavBar unit).

The RegisterView method must be called within the initialization section of the unit that implements the View. To un-register the View, call the UnRegisterView method within the unit’s finalization section.


Link & Group Hints

The NavBar control provides advanced functionality for controlling the appearance and behavior of its hints.

The NavBar control distinguishes between two types of hints: a group hint and a link hint. To specify the hint text, use the Hint property of a group or an item. The sample code below shows how to do this.

// Delphi

dxNavBar1.Groups[0].Hint := 'Help';

dxNavBar1.Items[0].Hint := 'Contents';

The screenshot below displays a NavBar link hint.

An alternative way to define group and/or link hint text is to write the OnGetGroupHint and OnGetLinkHint event handlers. These events provide a parameter specifying the element for which a hint is about to be displayed. You must assign the hint text to the AHint parameter. The sample code below handles both events to display elements’ captions as their hints.

// Delphi

procedure TForm1.dxNavBar1GetGroupHint(Sender: TObject;

AGroup: TdxNavBarGroup; var AHint: string);

begin

AHint := AGroup.Caption;

end;

procedure TForm1.dxNavBar1GetLinkHint(Sender: TObject;

ALink: TdxNavBarItemLink; var AHint: string);

begin

AHint := ALink.Item.Caption;

end;

Note, that to be able to display hints in the NavBar control, the OptionsBehavior.Common.ShowGroupsHint and/or OptionsBehavior.Common.ShowLinksHint properties should be enabled.

You can specify a custom style for hints. Use the OptionsStyle.CustomStyles.Hint property of the NavBar control for this purpose. First, create a custom style and modify its properties as your needs dictate. Next, assign this style to the OptionsStyle.CustomStyles.Hint property. The image below displays a hint with a custom style assigned.

The NavBar control lets you display anything you like within hints, by handling the OnCustomDraw.GroupHint and OnCustomDraw.LinkHint events. Note that you might need to change the bounds of hints in order to accommodate the desired information. The OnCalcGroupHintRect and OnCalcLinkHintRect events enable you to do this. Please refer to the Hints Custom Painting topic for details about changing hint dimensions and custom painting of hints.

Note: To provide centralized control over the appearance and behavior of hints in your application or form, use the TcxHintStyleController component shipped with the ExpressEditors Library.


Style Settings

The NavBar control appearance can be customized in several ways. One is assigning styles to different NavBar elements. Styles can be assigned to elements by assigning a TdxNavBarStyle class instance to the required style property. All NavBar styles have the same settings, which give a user control of the NavBar appearance. Some of these settings affect each other and some are independent. NavBar style properties and dependencies between them are listed below:

Property

Description

Affects/Affected by

AlphaBlending

Specifies the transparency for the starting component of the gradient fill (BackColor property value).

Image property settings. If alpha blending is set to 255, then the picture, specified by the Image property, is not visible.

AlphaBlending2

Specifies the transparency for the ending component of the gradient fill (BackColor2 property value).

Image property settings. If alpha blending is set to 255, then the picture, specified by the Image property, is not visible.

BackColor

Specifies the starting color of the gradient fill.

BackColor2

Specifies the ending color of the gradient fill.

If this property value is equal to the BackColor property value, then the element is painted with solid fill (with BackColor settings)

GradientMode

Specifies the direction of the gradient fill.

Is not in effect if the BackColor and BackColor2 properties have the same values.

Font

Contains the font settings.

Image

Specifies the image to display within the element.

HAlignment

Specifies the horizontal alignment for the element text.

VAlignment

Specifies the vertical alignment for the element text.

Note: gradient and transparent filling is available only if the GDI+ Library is installed on your computer. Please refer to the GDI+ Library Overview for details.

If you want to get full control of the NavBars appearance, use custom draw events. See Custom Draw Basics, Custom Painting of Static Elements, Custom Painting of Active Elements and Hints Custom Painting topics for details.


Assigning Styles to Elements

One way to customize the NavBar controls appearance is to assign styles for different NavBar elements. The NavBar control styles can be united into two groups: the default styles and the custom styles. The difference between these two groups is that the default styles represent common styles for all NavBar elements of specific type while the custom styles can be assigned to individual NavBar elements and thus override the default styles settings.

This topic is divided into two parts:

  1. ASSIGNING DEFAULT STYLES

  2. ASSIGNING CUSTOM STYLES

ASSIGNING DEFAULT STYLES

This section explains how to use the default styles settings to customize the NavBar control appearance. The default styles can be accessed via the Default styles designer page:

Let us modify the default styles for the UltraFlatExplorerBarView.

  1. Activate the NavBar designer. Go to the Views page and select the UltraFlatExplorerBarView from the Views combo. Click on the Apply button. This applies the UltraFlatExplorerBarView paint style to the NavBar control.

  2. Go to the Default styles designer page. Select the Background style in the painting styles list and set the AlphaBlending and AlphaBlending2 properties to 0. This makes the NavBar background transparent.

  3. Set the background image for the NavBar control.

  4. Select the GroupBackground style within the list. Set the AlphaBlending2 property to 0. This makes the gradient from the groups background color specified by the BackColor property to transparency.

  5. Set the background image for the NavBar control groups.

  6. Select the GroupHeader style. Set the AlphaBlending2 property value to 0. This makes the gradient fill within the group headers from the BackColor to transparency.

  7. Select the GroupHeaderHotTracked style and set the AlphaBlending property to 0.

  8. Select the Item style and set the font color for that style to clHighlight.

  9. Select the ItemHotTracked style and set the font color for that style to clHotLight.

The settings listed above can be applied to the control using the following code:

//Delphi

//...

nbMain.View := dxNavBarViewsFactory.GetIDFromName('UltraFlatExplorerBarView');

with nbMain.DefaultStyles do

begin

Background.AlphaBlending := 0; Background.AlphaBlending2 := 0;

Background.Image.LoadFromFile('C:\IMAGES\multi038.jpg');

GroupBackground.AlphaBlending2 := 0;

GroupBackground.Image.LoadFromFile('C:\IMAGES\multi037.jpg');

GroupHeader.AlphaBlending2 := 0; GroupHeaderHotTracked.AlphaBlending := 0; Item.Font.Color := clHighlight; ItemHotTracked.Font.Color := clHotLight;

end;

The result of all performed steps is demonstrated below:

Item Hot-Tracked | Group Hot-Tracked

ASSIGNING CUSTOM STYLES

Unlike the default styles, custom styles can be assigned to individual NavBar elements and thus override the default styles settings. To illustrate this we shall modify the appearance of the NavBar control customized in the previous section.

Custom styles collection can be accessed via the Custom styles designer page:

Click on the [image] button to create a custom style. Give the created style a unique name (CustomItemStyle in our case). Set the font color for the created style to clRed.

Go to the Items designer page. Select the biInbox item and assign the CustomItemStyle style to the CustomStyles.Item property of the biInbox item:

Note, that now the biInbox item text is painted in red:

Return to the Custom styles designer page and create another custom style. Give it a name (in our case it will be CustomGroupStyle). Set the Image property value.

Switch to the Groups page of the NavBar designer, select the bgNews group and assign the CustomGroupStyle as the CustomStyles.Background property value for the selected group:

Note, that in this step you can choose between two created custom styles when assigning a style to the group background. Thus you can assign any created custom style to any NavBar control element.

The result of applying a custom style for the group background is demonstrated below:

The following code performs the same actions as described above:

//Delphi

//..

nbMain.Styles.Add;

nbMain.Styles.Add;

with nbMain.Styles[0] do

begin

Name := 'CustomItemStyle';

Style.Font.Color := clRed;

end;

nbMain.Items[0].Style := nbMain.Styles[0];

with nbMain.Styles[1] do

begin

Name := 'CustomGroupStyle';

Style.AlphaBlending := 0;

Style.Image.LoadFromFile('C:\IMAGES\red008.jpg');

end;

nbMain.Groups[1].StyleBackground := nbMain.Styles[1];


Internal and External Drag & Drop Operations

The NavBar control provides functionality to support internal and external drag & drop operations.

Internal drag & drop operations relate to dragging an individual link/group and dropping it onto a new position within the same NavBar control.

External operations imply:

  • dragging an object from another control (source control) and dropping it onto the NavBar as a new link or group;

  • dragging a link or group from the NavBar to another control (target control) and accepting it there as the control’s new child object.

You can control the NavBar control’s behavior for drag & drop operations by using the OptionsBehavior.Common.DragDropFlags property. This property contains a set of flags specifying which elements in the NavBar control can be dragged and/or dropped. For instance, you may not wish to allow dragging groups from/within the NavBar control and dropping links onto it. The following code line will do that.

// Delphi

DragDropFlags := DragDropFlags - [fAllowDragGroup, fAllowDropLink];

Note that holding down the CTRL key during the drag & drop operation results in duplicating the dragged link. In this case, a link being dragged is copied from the source to the target position. If the CTRL key is not pressed, the dragged link is just moved to the target position.

Implementation of drag & drop operations applied to a NavBar control is entirely based on use of the NavBar control’s drag object (TdxNavBarDragObject type). This object contains properties for handling internal and external drag & drop operations. Reading these properties, you can gain access to the group or link being dragged and obtain the target position of the dragged object should it be dropped. This object can be accessed via the dxNavBarDragObject global variable.

An instance of the TdxNavBarDragObject object is created and initialized automatically each time a dragging operation is initiated by the NavBar control (for instance, when a user starts dragging a NavBar’s link or group). In this case, for external drag & drop operations you should analyze property values of the existent NavBar control’s drag object and implement the accept logic handling the drag-over and drag-and-drop events of the target control. The following code presents handler implementations for the OnDragOver and OnDragDrop events of a list view control (ListView1) which can accept links dragged from a NavBar control. Note that, in this example, the NavBar control and list view controls use the same image list control as the source of their images.

//Delphi

procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);

begin

Accept := (dxNavBarDragObject <> nil);

end;

procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);

var AListItem: TListItem;

begin

if dxNavBarDragObject <> nil then

begin

if dxNavBarDragObject.SourceLink <> nil then

begin

AListItem := ListView1.Items.Add; AListItem.Caption := dxNavBarDragObject.SourceLink.Item.Caption; AListItem.ImageIndex := dxNavBarDragObject.SourceLink.Item.SmallImageIndex;

end;

end;

end;

However, if another control is the source of drag & drop operations (external drag & drop), you should instantiate the TdxNavBarDragObject object manually to ensure the proper response of the NavBar control involved in the operation. For this purpose, you can provide a handler for the source control’s start-dragging event and place the required initialization code there. Example code is shown below for such a handler for the OnStartDrag event of a list view control (in this example, the NavBar control and list view controls also use the same image list control as the source of their images).

//Delphi

procedure TForm1.ListView1StartDrag(Sender: TObject; var DragObject: TDragObject);

var AItem : TdxNavBarItem;

begin

if ListView1.Selected <> nil then

begin

AItem := TdxNavBarItem.Create(dxNavBar1); AItem.Caption := ListView1.Selected.Caption; AItem.SmallImageIndex := ListView1.Selected.ImageIndex;

dxNavBarDragObject := TdxNavBarDragObject.Create(dxNavBar1, DragObject, nil, nil, AItem);

end;

end;

The TdxNavBarDragObject object instance only exists during the drag & drop operation. In both cases, this object is automatically destroyed after the drag & drop operation is completed (either by accepting a dragged object or canceling it).

We can summarize the handling of NavBar control’s drag & drop operations as follows:

  • External drag & drop operations (where the NavBar control can represent either a source or target control) can be processed by manually handling specific start-dragging, drag-over, drag-and-drop and end-dragging events of the controls involved in the operation.

  • Internal drag & drop operations performed within the same NavBar control are handled internally. The NavBar object will create an instance of the TdxNavBarDragObject object and implement the required logic for dragging and dropping links/groups automatically. Thus, normally you do not need to make use of the NavBar control’s drag object and its properties to for standard internal operation.

For more information about processing NavBar control’s drag & drop operations see the Drag and Drop demo included in the installation.


Custom Draw Basics

See Also

The NavBar control supports a custom draw feature. It provides a number of events occurring when painting of specific NavBar elements is required. Writing these event handlers gives a user full control of the NavBar control appearance.

Custom drawing can be implemented for the following elements of the NavBar control:

  • Control background;

  • Group background;

  • Group foreground;

  • Group caption;

  • Group hint;

  • Item link;

  • Item link hint;

  • Navigation Pane's header section;

  • Navigation Pane's splitter;

  • Navigation Pane's overflow panel;

  • Hints displayed for icons within the overflow panel.

Custom draw events accept a number of parameters. These parameters identify:

  • Sender – a NavBar control element to be painted;

  • ACanvas – drawing surface of a specific element (specified via a TCanvas instance);

  • AViewInfo – information on the element layout (specified via a ViewInfo class instance, whose type corresponds to the painted element);

  • AHandled – a parameter, determining whether the default painting is not required. Set it to True if the custom drawing is implemented by an event handler.


Custom Painting Hints

See Also

The NavBar control supports a custom draw feature. It can be applied to any NavBar control element. This topic explains how to implement custom painting of the NavBar control hints.

There are two hint types in the NavBar control: group hint and link hint. The NavBar control provides a number of events used for runtime hints customization:

Event | Description
OnGetGroupHint | Occurs when the group hint text is obtained. Allows you to specify the hint text for groups dynamically, as opposed to the default behavior of using the value in the Group.Hint property. The hint text specified via this event is passed to the custom draw event.
OnCalcGroupHintRect | Occurs when a group hint bounds are to be calculated. Allows the group hint bounds customization according to your. The TRect instance, representing the hint bounds is passed to the custom draw event.
OnCustomDraw.GroupHint | Occurs when painting of a group hint is required. Two parameters of this event (the hint text and bounds) depend on the two previous events handlers. If these events are not handled, then the hint text is specified by the Group.Hint property. Its bounding rectangle is calculated automatically.
OnGetLinkHint | Occurs when the link hint text is required. Allows you to specify the hint text for items dynamically, as opposed to the default behavior of using the value in the Item.Hint property. The hint text specified via this event is passed to the custom draw event.
OnCalcLinkHintRect | Occurs when a link hint bounds are to be calculated. Allows the link hint bounds customization according to your. The TRect instance, representing the hint bounds is passed to the custom draw event.
OnCustomDraw.LinkHint | Occurs when the painting of a link hint is required. Two parameters of this event (the hint text and bounds) depend on the two previous events handlers. If these events are not handled, then the hint text is specified by the Item.Hint property. Its bounding rectangle is calculated automatically.
OnCalcNavigationPaneOverflowPanelHintRect | Enables you to specify a custom size for hints displayed when hot-tracking icons within the navigation pane’s overflow panel.
OnCustomDraw.NavigationPaneOverflowPanelHint | Enables you to custom paint the hints displayed for icons within the navigation pane’s overflow panel.

The following code demonstrates custom painting of the group and item link hints:

//This event handler specifies the group hint text

procedure TfmFeaturesMain.nbMainGetGroupHint(Sender: TObject;

AGroup: TdxNavBarGroup; var AHint: String);

begin

//The group hint text is composed of the group caption

AHint := 'This is ' + AGroup.Caption + ' group';

end;

//This event handler performs custom drawing of the group hint. The

//group hint text is specified via the previous event handler

procedure TfmFeaturesMain.nbMainCustomDrawGroupHint(Sender: TObject;

ACanvas: TCanvas; AGroup: TdxNavBarGroup; AHint: String; R: TRect;

var AHandled: Boolean);

begin

//The Brush color for the hint area is set to clBtnFace

ACanvas.Brush.Color := clBtnFace;

//The hint area background is filled with Brush

ACanvas.FillRect(R);

//Two following lines draw the 3D border within the hint area

Frame3D(ACanvas, R, clWhite, clBlack, 1); Frame3D(ACanvas, R, clBtnFace, clGray, 1);

//The hint text is drawn

ACanvas.TextRect(R, 1, 1, AHint);

//The AHandled parameter must be set to True, because the default

//hint painting is not requried

AHandled := True;

end;

//This event handler specifies the link hint text

procedure TfmFeaturesMain.nbMainGetLinkHint(Sender: TObject;

ALink: TdxNavBarItemLink; var AHint: String);

begin

//The item link hint is composed of the item caption

AHint := 'This is ' + ALink.Item.Caption + ' item';

end;

//This event handler recalculates the link hint bounding rectangle to

//include the link’s small image into it

procedure TfmFeaturesMain.nbMainCalcLinkHintRect(Sender: TObject;

ALink: TdxNavBarItemLink; AViewInfo: TdxNavBarViewInfo; var R: TRect);

var

Img: TBitmap;

begin

Img := TBitmap.Create;

//The Img variable is assigned the small image of an item whose

//hint area bounds are calculated

imgSmall.GetBitmap(Alink.Item.SmallImageIndex, Img);

//The hint area bounds are resized to include the item’s

// small image

R.Bottom := R.Top + Img.Height + 4; R.Right := R.Right + Img.Width;

end;

//This event handler performs custom drawing of the link hint. The

//link hint text and bounding rectangle are obtained from two

//previous event handlers

procedure TfmFeaturesMain.nbMainCustomDrawLinkHint(Sender: TObject;

ACanvas: TCanvas; ALink: TdxNavBarItemLink; AHint: String; R: TRect;

var AHandled: Boolean);

var

Img: TBitmap;

begin

Img := TBitmap.Create;

//The Img variable is assigned the small image of an item whose

//hint is drawn

imgSmall.GetBitmap(Alink.Item.SmallImageIndex, Img);

//The Brush color for the hint area is set to clBtnFace

ACanvas.Brush.Color := clBtnFace;

//The hint area background is filled with Brush

ACanvas.FillRect(R);

//Two following lines draw the 3D border within the hint area

Frame3D(ACanvas, R, clWhite, clBlack, 1); Frame3D(ACanvas, R, clBtnFace, clGray, 1);

//The item’s small image is drawn at the left of the hint area

Img.TransparentMode := tmFixed; Img.TransparentColor := clWhite; Img.Transparent := True; ACanvas.Draw(2, 2, Img);

//The Brush style should be set to bsClear to prevent drawing of

//the hint text over the link small image

ACanvas.Brush.Style := bsClear; ACanvas.TextRect(R, Img.Width + 1, 2, AHint);

//The AHandled parameter must be set to True, because the default

//hint painting is not requried

AHandled := True;

end;

The result is demonstrated below:

Group hint

Item link hint


Custom Painting Static Elements

See Also

There are several ways to customize the NavBar appearance. The most powerful method is to implement the custom draw feature. This feature is implemented via a number of events.

Some of the NavBar elements keep their appearance regardless of the NavBar control state. These elements are:

  • The control background;

  • The group client areas background;

  • The group client areas foreground.

The corresponding custom draw events are listed below:

Event

Description

OnCustomDraw.Background

Allows painting of the entire NavBar control background.

OnCustomDraw.GroupClientBackground

Allows painting of the NavBar groups client areas.

OnCustomDraw.GroupClientForeground

Allows painting of the NavBar groups client areas foreground. Handling this event gives you the ability to perform custom painting over the default painted group background, if you do not want the default group background painting to be overridden. For instance, you can use this event to display static text and images within a group instead of links.

For information on the custom draw events parameters see the Custom Draw Basics topic.

Refer to this example to learn how to handle the OnCustomDraw.Background event.


Custom Painting Active Elements

See Also

Group headers, links and scroll buttons are defined as active elements since they provide end users with a response to specific actions. For instance, links and group headers can change their look & feel when pressed. Thus, these elements can have a number of states, which must be taken into account for custom painting.

NavBar elements can have several states at once. For instance, when a user presses a link, it becomes pressed and hot-tracked at the same time.

The current state of a NavBar element can be determined using the State property of the AViewInfo parameter of custom draw events. The State property represents a set of states enumerated by the TdxNavBarObjectState type. These states are active, disabled, expanded, hot-tracked, pressed and selected (the disabled state relates only to links and the expanded and active states relate only to group headers). Please refer to the TdxNavBarObjectState type topic for more information.

A NavBar control enables you to specify separate styles for group headers, links and scroll buttons depending on their states. These styles are specified by the properties of the NavBar control’s OptionsStyle.DefaultStyles object and various custom styles.

Custom painting provides you more flexibility when customizing the appearance of NavBar elements. For instance, you can fill the background in a particular manner, render links and group buttons as you wish, etc. To implement custom painting of group headers, links and scroll buttons, you can handle the following events:

Event | Comment
OnCustomDraw.GroupCaption | Use this event to draw the group headers.
OnCustomDraw.Link | Use this event to draw the individual links.
OnCustomDraw.TopScrollButton | Use this event to draw the scroll buttons displayed at the top of the group’s client area.
OnCustomDraw.BottomScrollButton | Use this event to draw the scroll buttons displayed at the bottom of the group’s client area.

Refer to this example to learn how to handle the OnCustomDraw.GroupCaption event.


GDI+ Library Overview

Our NavBar control installation involves specific Microsoft GDI+ Library from the dxGDIPlus~.dpk packages. The GDI+ Library is a set of classes, which represent the managed class interface to GDI+. GDI+ is the subsystem of Microsoft® Windows® operating systems that is responsible for displaying information on screens and printers.

GDI+ is a graphics device interface that allows programmers to write device-independent applications. Some services of GDI+ are exposed through a set of managed classes implemented in the Developer Express GDI+ Library. These services (such as alpha blending, gradient brushes, etc) are internally used to draw and fill some elements of the NavBar control.

The GDI+ Library provides an interface to classes that store information about how the primitives are to be drawn, and classes that actually do the drawing. For example, the Pen class (accessed through the TdxGPPen) stores information about line color, line width, and line style; and the Graphics class (accessed via the TdxGPGraphics) has methods for drawing lines, rectangles, paths, and other figures. There are also several Brush classes (TdxGPBrush, TdxGPHatchBrush, TdxGPLinearGradientBrush, TdxGPSolidBrush, TdxGPTextureBrush) that store information about how closed figures and paths are to be filled with colors or patterns.

Important Note: The NavBar control uses the GDI+ library to enable color gradient and transparency effects, and requires the GDI+ library to be installed. Gdiplus.dll is included with Windows XP and Vista. GDI+ is available as a redistributable file for Windows NT 4.0 SP6, Windows 2000, Windows 98, and Windows Me. To download the latest redistributable, see http://www.microsoft.com/downloads/details.aspx?FamilyID=6a63ab9c-df12-4d41-933c-be590feaa05a&DisplayLang=en.


Saving and Restoring NavBar Settings

See Also

The NavBar control allows you to save and restore its settings using different storage types. The list below describes the method pairs used to perform this and the storage types they use:

  • SaveToIniFile and LoadFromIniFile – used to save/restore settings using an INI file;

  • SaveToRegistry and LoadFromRegistry – used to save/restore settings using a registry path;

  • SaveToStream and LoadFromStream – used to save/restore settings using a TStream descendant.

All the methods above save the same information and this includes:

  • Settings of each item stored in the control’s Items collection;

  • Settings of each group stored in the control’s Groups collection;

  • Links (each group stores indexes of items linked to it and the order of links within the group);

  • The View applied;

  • The settings of the custom styles stored within the OptionsStyle.CustomStyleRepository collection (provided that the SaveStyles parameter is not explicitly set to False).

The following settings are not saved by the SaveToIniFile, SaveToRegistry and SaveToStream methods:

  • Settings of custom styles stored within the OptionsStyle.CustomStyleRepository collection (if the SaveStyles parameter of the saving method is set to False);

  • Settings of the default styles stored within the OptionsStyle.DefaultStyles collection. Thus, there are two possible situations when saving and restoring settings. If the same View is applied when saving and loading, the target control’s default styles will be preserved. If different Views are applied though, the target control will have default styles relating to the new View applied.

  • Controls embedded within groups;

  • Settings of the NavBar control itself. The target control preserves these settings.

Saving and loading the control’s layout can be used in various ways. For instance, you may want to create a number of NavBar controls with similar or the same structures. In this case, you can customize a single control and then copy its layout via an INI file, for instance. Another example of using layout persistence is for restoring the default NavBar layout. If you allow end users to customize the layout of the NavBar, you can store its settings at application startup so that they can be restored as needed.

The sample code below shows how to copy the layout of one NavBar control to another using a string stream. The SaveToStream and LoadFromStream methods are used for this purpose. True is specified as the second parameter of both methods so that style settings are copied.

// Delphi

var AStream: TStringStream;

// ...

AStream := TStringStream.Create('');

dxNavBar1.SaveToStream(AStream, True);

AStream.Position := 0;

dxNavBar2.LoadFromStream(AStream, True);

The next sample shows how to save settings of a NavBar control at form creation and how to restore them when a button is clicked. Settings are saved/restored using the registry. The SaveToRegistry and LoadFromRegistry method are used for this purpose. The second parameter of both methods is omitted. Settings of custom styles are still copied since the parameter defaults to True.

// Delphi

procedure TfrmNavBarDemo.FormCreate(Sender: TObject);

begin

dxNavBar.SaveToRegistry('HKEY_LOCAL_MACHINE\SOFTWARE\Developer Express Inc\NavBarLayout', True);

end;

procedure TfrmNavBarDemo.btnRestoreClick(Sender: TObject);

begin

dxNavBar.LoadFromRegistry('HKEY_LOCAL_MACHINE\SOFTWARE\Developer Express Inc\NavBarLayout', True);

end;


TdxCustomNavBar

TdxCustomNavBar Object

Hierarchy Properties Methods Events

Serves as the base for the TdxNavBar control.

Unit

dxNavBar

TdxCustomNavBar = class(TcxControl)

Description

This object implements most of the functionality of the NavBar control. The TdxNavBar control simply publishes some properties and events. Please refer to this control description for details on the features it provides.


TdxNavBar

TdxNavBar Object

Hierarchy Properties Methods Events

Represents the NavBar control.

Unit

dxNavBar

TdxNavBar = class(TdxCustomNavBar)

Description

Use the TdxNavBar class to add a NavBar control to your application. The control allows you to display a number of grouped links. Groups of links can be expanded/collapsed in order to show/hide their contents. You can process link click events in order to perform desired actions.

The NavBar control provides two different groups layouts. It can be represented either in a Side Bar or Explorer Bar configuration. Each method of control representation includes a number of painting styles. The NavBar supports 20 different painting styles, which can be customized via the style designer, or by means of implementing custom drawing of control elements. Options controlling the functionality and appearance of the NavBar control are grouped into the following option sets: OptionsBehavior, OptionsImage, OptionsStyle, and OptionsView.

The NavBar class contains two properties representing collections of groups and items. Groups are accessed via the Groups property. Each group within the collection contains its collection of links. Links reference items, which are stored in the Items property of the control. Such a structure allows you to display links to the same item in different groups.


dxNavBar Unit Overview

dxNavBar Unit

Classes

TdxCustomNavBar

TdxNavBar

TdxNavBarBehaviorOptions

TdxNavBarCommonBehaviorOptions

TdxNavBarCommonViewOptions

TdxNavBarCursors

TdxNavBarCustomDrawEvents

TdxNavBarDragObject

TdxNavBarExplorerBarViewOptions

TdxNavBarGroupViewInfo

TdxNavBarImageOptions

TdxNavBarLinkViewInfo

TdxNavBarNavigationPaneBehaviorOptions

TdxNavBarNavigationPaneViewOptions

TdxNavBarPersistent

TdxNavBarSideBarBehaviorOptions

TdxNavBarViewInfo

TdxNavBarViewOptions

Other Types

TdxNavBarCalcGroupClientHeightEvent

TdxNavBarCalcGroupHintRectEvent

TdxNavBarCalcLinkHintRectEvent

TdxNavBarCustomDrawEvent

TdxNavBarCustomDrawGroupEvent

TdxNavBarCustomDrawGroupHintEvent

TdxNavBarCustomDrawLinkEvent

TdxNavBarCustomDrawLinkHintEvent

TdxNavBarDragDropFlag

TdxNavBarDragDropFlags

TdxNavBarGroupChangingEvent

TdxNavBarGroupEvent

TdxNavBarLinkEvent

TdxNavBarObjectState

Global Variables

dxNavBarDragObject


dxNavBarBase Unit Overview

dxNavBarBase Unit

Classes

TdxNavBarComponentCollection

TdxNavBarComponentCollectionItem


dxNavBarCollns Unit Overview

dxNavBarCollns Unit

Classes

TdxNavBarCustomItem

TdxNavBarCustomItems

TdxNavBarGroup

TdxNavBarGroups

TdxNavBarItem

TdxNavBarItemLink

TdxNavBarItemLinks

TdxNavBarItems


dxNavBarGroupItems Unit Overview

dxNavBarGroupItems Unit

Classes

TdxNavBarSeparator


dxNavBarStyles Unit Overview

dxNavBarStyles Unit

Classes

TdxNavBarBaseStyle

TdxNavBarBaseCustomStyles

TdxNavBarCustomStyles

TdxNavBarDefaultStyles

TdxNavBarGroupCustomStyles

TdxNavBarItemCustomStyles

TdxNavBarStyle

TdxNavBarStyleItem

TdxNavBarStyleOptions

TdxNavBarStyleRepository

Other Types

TdxBarStyleGradientMode

TdxBarStyleHAlignment

TdxBarStyleVAlignment

TdxNavBarChangeEvent


cxNavBarViewsFact Unit Overview

dxNavBarViewsFact Unit

Classes

TdxNavBarViewsFactory

Routines

dxNavBarViewsFactory

RegisterView

UnRegisterView


cxNavBarConsts Unit Overview

cxNavBarConsts Unit

Global Constants

cxNavBarDefaultLargeImageHeight

cxNavBarDefaultLargeImageWidth

cxNavBarDefaultSmallImageHeight

cxNavBarDefaultSmallImageWidth

cxNavBarScrollInterval


TdxNavBarCustomItem

TdxNavBarCustomItem Object

Hierarchy Properties Methods Events See Also Concepts

Represents the base class for all collection items that can be displayed within the NavBar control.

Unit

dxNavBarCollns

TdxNavBarCustomItem = class(TdxNavBarComponentCollectionItem)

Description

Derived classes include: TdxNavBarGroup and TdxNavBarItem.

The TdxNavBarCustomItem class introduces members that allow you to:

  • Control a collection item’s appearance settings:

    • The visibility of a collection item in the NavBar control (Visible);

    • The caption and hint text for a collection item (Caption and Hint);

    • Small and large images associated with a collection item (SmallImageIndex and LargeImageIndex).

  • Respond to end-user actions (OnClick).


TdxNavBarComponentCollection

TdxNavBarComponentCollection Object

Hierarchy Properties Methods Events See Also

Serves as the base for the classes maintaining item collections.

Unit

dxNavBarBase

TdxNavBarComponentCollection = class(TPersistent)

Description

The NavBar control maintains collections of groups, items and style items. These collections have some common features, which are implemented in the TcxNavBarComponentCollection class.

The TcxNavBarComponentCollection class provides means using which you can manage a collection of items. It allows you to add, delete and change the position of collection items.

Collection objects descending from the TcxNavBarComponentCollection class contain item objects descending from the TdxNavBarComponentCollectionItem class.


TdxNavBarComponentCollectionItem

TdxNavBarComponentCollectionItem Object

Hierarchy Properties Methods See Also

Implements the basic functionality of collection items.

Unit

dxNavBarBase

TdxNavBarComponentCollectionItem = class(TcxComponentCollectionItem)

Description

Collection objects used in the NavBar control are represented by the TdxNavBarComponentCollection class descendants. Each of these objects maintain a collection of specific objects (groups, items and styles). The ComponentCollectionItem class implements common features for objects representing collection items.

The ComponentCollectionItem class descendants that serve as collection items include:

  • The TdxNavBarGroup class - represents a TdxNavBarGroups collection item.

  • The TdxNavBarItem class - represents a TdxNavBarItems collection item.

  • The TdxNavBarStyleItem class - represents a TdxNavBarStyleRepository or TdxNavBarBaseCustomStyles collection item.


TdxNavBarGroup

TdxNavBarGroup Object

Hierarchy Properties Methods Events Concepts

Represents a group within a TdxNavBar control.

Unit

dxNavBarCollns

TdxNavBarGroup = class(TdxNavBarCustomItem)

Description

This class introduces members that allow you to:

  • Specify whether the group’s client area displays links or custom controls, and customize this area's appearance and behavior (OptionsGroupControl).

  • Change the group’s expanded state, and customize appearance options for this state (OptionsExpansion).

  • Adjust the group’s vertical alignment within Explorer Bar Views (Align).

  • Apply custom styles to the group’s elements (CustomStyles).

  • Manage the group’s links (CreateLink, Links, FindLink, ClearLinks, RemoveLink, and RemoveLinks).

  • Customize the link layout within the group (ShowAsIconView, LinksUseSmallImages, and TopVisibleLinkIndex).

The image below displays examples of groups.


TdxNavBarGroups

TdxNavBarGroups Object

Hierarchy Properties Methods Events See Also

Represents a collection of groups within the NavBar control.

Unit

dxNavBarCollns

TdxNavBarGroups = class(TdxNavBarCustomItems)

Description

A collection of groups is accessed via the Groups property. This property returns the TcxNavBarGroups object. Use this object's methods and properties to manipulate groups within the NavBar control.

Each item of the collection is represented by a TdxNavBarGroup object. Use the Items property to access an individual collection group.


TdxNavBarItem

TdxNavBarItem Object

Hierarchy Properties Methods Events See Also Concepts

Represents an item within a TdxNavBar control.

Unit

dxNavBarCollns

TdxNavBarItem = class(TdxNavBarCustomItem)

Description

This class introduces members that allow you to:

  • Specify whether an item’s links respond to end-user actions (Enabled).

  • Remove all links associated with an item (RemoveAllLinks).

  • Customize the appearance of an item’s links (CustomStyles).

  • Associate an action object with an item (Action).


TdxNavBarItems

TdxNavBarItems Object

Hierarchy Properties Methods Events See Also

Represents a collection of items within a NavBar control.

Unit

dxNavBarCollns

TdxNavBarItems = class(TdxNavBarCustomItems)

Description

A collection of NavBar control items is accessed via the Items property. This property returns the TdxNavBarItems object. Use this object's methods and properties to manipulate control items.

Each collection item is represented by a TdxNavBarItem object. Use the Items property to access an individual item within the collection.


TdxNavBarSeparator

TdxNavBarSeparator Object

Hierarchy Properties Methods Events See Also Concepts

Represents an item separator in NavBar groups.

Unit

dxNavBarGroupItems

TdxNavBarSeparator = class(TdxNavBarItem)

Description

Item separators are displayed in groups as horizontal lines.

At design time, you can create separators by clicking a corresponding menu item in the Items page of the NavBar designer.


TdxNavBarItemLink

TdxNavBarItemLink Object

Hierarchy Properties Methods See Also Concepts

Represents a link between a group and an item.

Unit

dxNavBarCollns

TdxNavBarItemLink = class(TCollectionItem)

Description

In order to display the contents of an item within a group, one must create a link between the group and the item. Each group stores its internal collection of links. An individual link can be accessed by its index via the Links property of a group.

The item and the group linked by this object can be obtained via the Group and Item properties.


TdxNavBarItemLinks

TdxNavBarItemLinks Object

Hierarchy Properties Methods See Also Concepts

Represents a collection of links between a group and items.

Unit

dxNavBarCollns

TdxNavBarItemLinks = class(TCollection)

Description

NavBar controls maintain a collection of groups and items. Each group maintains an internal collection of links to items. This collection is represented by the TdxNavBarItemLinks object. Individual link objects are internally specified by the Items property of this object and can be accessed via the Links property of a group. The collection of groups (which allow you to obtain an individual group) is accessed via the Groups property of a NavBar control.

Note: An item's contents are displayed within a group only if a corresponding link is created.

The TdxNavBarItemLinks collection provides methods internally used by TdxNavBarGroup objects to add, delete and move links within their collection.


TdxNavBarBaseStyle

TdxNavBarBaseStyle Object

Hierarchy Properties Methods Events See Also

Represents the ancestor of the TdxNavBarStyle and TdxNavBarDefaultStyle classes.

Unit

dxNavBarStyles

TdxNavBarBaseStyle = class(TcxOwnedPersistent)

Description

The TdxNavBarBaseStyle object provides style settings of NavBar elements. Settings available include background colors, gradient direction, font settings, text alignment and the background image. The TdxNavBarStyle and TdxNavBarDefaultStyle classes inherit these settings and introduce their own properties relating to custom and default styles respectively.


TdxNavBarBaseCustomStyles

TdxNavBarBaseCustomStyles Object

Hierarchy Properties Events

Represents a collection of custom styles.

Unit

dxNavBarStyles

TdxNavBarBaseCustomStyles = class(TdxNavBarNexusPersistent)

Description

This class introduces the Styles property that provides zero-based indexed access to custom styles.


TdxNavBarDefaultStyle

TdxNavBarDefaultStyle Object

Hierarchy Properties Methods Events

Provides default style settings for NavBar elements.

Unit

dxNavBarStyles

TdxNavBarDefaultStyle = class( TdxNavBarBaseStyle )

Description

The NavBar control provides two alternatives for specifying element styles. First, you can set default styles for elements. A default style provides settings for all elements of a particular type. Default styles can be accessed via the control’s OptionsStyle.DefaultStyles property. This property exposes the TdxNavBarDefaultStyles object whose properties represent individual style objects. Each individual style object is represented by a TdxNavBarDefaultStyle instance.

The second alternative is to set custom styles for elements. Custom styles override the default settings and are in effect for a particular group, for instance.

The TdxNavBarDefaultStyle class is derived from the TdxNavBarBaseStyle class and inherits all its style properties. In addition, it provides the DefaultValues property used to determine whether style settings have been changed from the default. If so, the default style is stored within the DFM file.


TdxNavBarDefaultStyles

TdxNavBarDefaultStyles Object

Hierarchy Properties Methods Events Concepts

Lists the default types of control elements to which individual styles can be assigned.

Unit

dxNavBarStyles

TdxNavBarDefaultStyles = class(TcxOwnedPersistent)

Description

The TdxNavBarDefaultStyles class is used to declare the stated types of NavBar elements whose appearance can be changed and to establish a connection between elements and styles. Styles of such predefined elements are called default styles of the NavBar control. The style of each element is specified by a property of the TdxNavBarDefaultStyles object. Each property provides access to a style object of the TdxNavBarDefaultStyle type whose settings control the appearance of the corresponding control element. To access a particular default style, use the DefaultStyles zero-based indexed collection.

Note that style settings of the stated NavBar control elements depend directly upon the View applied. Each View sets the elements’ style properties to the predefined values. After a certain View has been applied, you can change the appearance of the provided elements as your needs dictate using the TdxNavBarDefaultStyles object properties. The TdxNavBarDefaultStyles object can be accessed via the OptionsStyle.DefaultStyles property of the NavBar control.


TdxNavBarCustomStyles

TdxNavBarCustomStyles Object

Hierarchy Properties Events See Also Concepts

Contains custom styles for NavBar elements.

Unit

dxNavBarStyles

TdxNavBarCustomStyles = class(TdxNavBarBaseCustomStyles)

Description

The TdxNavBarCustomStyles class extends its ancestor class with style options for the following NavBar elements:

  • client area background (Background);

  • scroll buttons in the normal, hot-tracked, and pressed states (Button, ButtonHotTracked, and ButtonPressed);

  • group header under the group being dragged (DropTargetGroup);

  • drop line indicating a new position of the item link being dragged (DropTargetLink);

  • hint windows for link and group hints (Hint);

  • Navigation Pane’s header section and splitter (NavigationPaneHeader).

The TdxNavBarCustomStyles object is referenced by the NavBar control’s OptionsStyle.CustomStyles property.


TdxNavBarGroupCustomStyles

TdxNavBarGroupCustomStyles Object

Hierarchy Properties Events See Also

Contains custom styles for NavBar groups.

Unit

dxNavBarStyles

TdxNavBarGroupCustomStyles = class(TdxNavBarBaseCustomStyles)

Description

The TdxNavBarGroupCustomStyles class extends its ancestor class with style options for the following group elements:

  • client area background (Background and Control);

  • header of inactive groups in the normal, hot-tracked, and pressed states (Header, HeaderHotTracked, and HeaderPressed);

  • header of active groups in the normal, hot-tracked, and pressed states (HeaderActive, HeaderActiveHotTracked, and HeaderActivePressed).

The TdxNavBarGroupCustomStyles object is referenced by a group’s CustomStyles property.


TdxNavBarItemCustomStyles

TdxNavBarItemCustomStyles Object

Hierarchy Properties Events See Also

Contains custom styles for NavBar items.

Unit

dxNavBarStyles

TdxNavBarItemCustomStyles = class(TdxNavBarBaseCustomStyles)

Description

The TdxNavBarItemCustomStyles class extends its ancestor class with the Item, ItemDisabled, ItemHotTracked, and ItemPressed properties that allow you to customize the appearance of items in the normal, disabled, hot-tracked, and pressed states.

The TdxNavBarItemCustomStyles object is referenced by a group’s CustomStyles property.


TdxNavBarStyle

TdxNavBarStyle Object

Hierarchy Properties Methods Events See Also Concepts

Contains the style settings for an element's contents.

Unit

dxNavBarStyles

TdxNavBarStyle = class(TdxNavBarBaseStyle)

Description

The TdxNavBarStyle object represents a single style within the NavBar component. It inherits all the properties declared by the TdxNavBarBaseStyle object and used to customize the look and feel of particular NavBar elements’ contents. The properties specify back color, alpha blending and gradient modes, font settings, horizontal and vertical alignment, etc.

The look and feel settings of the style objects represented by instances of the TdxNavBarStyle class are used both by custom style items (if any) and default styles of the NavBar control. The collection of custom styles can be accessed via the OptionsStyle.CustomStyleRepository property of the NavBar control (the TdxNavBar object). Each custom style item (the TdxNavBarStyleItem object) refers to a specific TdxNavBarStyle object via the Style property. Default styles are specified by the TdxNavBarDefaultStyles object, which is available via the OptionsStyle.DefaultStyles property of the NavBar control. This object contains the properties representing the default types of NavBar elements to which individual styles can be assigned. So each TdxNavBarDefaultStyles object’s property provides access to the corresponding TdxNavBarStyle object containing the required style settings.


TdxNavBarStyleItem

TdxNavBarStyleItem Object

Hierarchy Properties Methods See Also

Represents a custom style within a NavBar control.

Unit

dxNavBarStyles

TdxNavBarStyleItem = class(TdxNavBarComponentCollectionItem)

Description

The TdxNavBarStyleItem object represents an individual custom style, which can be used by different objects of the NavBar control (group, item, NavBar control itself) containing style properties.

Each TdxNavBarStyleItem object is an item of the custom styles collection represented by the OptionsStyle.CustomStyleRepository property of the NavBar control. You can add/delete individual custom styles via the Custom Styles designer or by using the methods and properties of the OptionsStyle.CustomStyleRepository collection via code at runtime.

The custom style items represented by the TdxNavBarStyleItem objects are available to specific visual elements of the NavBar control, its groups and items. Thus, the TdxNavBar, TdxNavBarGroup and TdxNavBarItem objects contain different sets of style properties representing the look and feel of particular visual elements. These properties are of the TdxNavBarStyleItem type, so each of them can be set to the appropriate style created and maintained by the OptionsStyle.CustomStyleRepository collection of the NavBar control.

The TdxNavBarStyleItem object contains the Style property referring to the adjusted style settings represented by the TdxNavBarStyle object.


TdxNavBarStyleRepository

TdxNavBarStyleRepository Object

Hierarchy Properties Methods Events See Also

Represents a collection of NavBar custom styles.

Unit

dxNavBarStyles

TdxNavBarStyleRepository = class(TdxNavBarComponentCollection)

Description

This class extends its ancestor class with the Items property and Add method that allow you to:

  • Access collection items (TdxNavBarStyleItem objects).

  • Add new items to the collection.

The TdxNavBarStyleRepository object is referenced by the NavBar control’s StyleOptions.CustomStyleRepository property.


TdxNavBarViewsFactory

TdxNavBarViewsFactory Object

Hierarchy Properties Methods Concepts

Represents the list of registered NavBar control Views.

Unit

dxNavBarViewsFact

TdxNavBarViewsFactory = class(TObject)

Description

All registered Views are stored in the Views collection represented by a TdxNavBarViewsFactory class instance. This class provides:

  • Access to the View names, their identity values and corresponding painter classes;

  • Access to the registered Views by their names and identity values;

  • The ability to register and un-register custom Views.

Use the dxNavBarViewsFactory function to access a TdxNavBarViewsFactory instance, associated with NavBar controls located on a form.


dxNavBarViewsFactory

dxNavBarViewsFactory global function

Provides access to a TdxNavBarViewsFactory instance associated with all NavBar controls located on a form.

Unit

dxNavBarViewsFact

function dxNavBarViewsFactory: TdxNavBarViewsFactory;

Description

Use the dxNavBarViewsFactory function to access a TdxNavBarViewsFactory instance associated with NavBar controls located on a form.


TdxNavBarViewInfo

TdxNavBarViewInfo Object

Hierarchy Properties Methods See Also

Contains View information related to the NavBar control.

Unit

dxNavBar

TdxNavBarViewInfo = class(TObject)

Description

The TdxNavBarViewInfo object is passed as the parameter to the OnCustomDraw.Background, OnCustomDraw.BottomScrollButton, OnCustomDraw.TopScrollButton, OnCalcGroupHintRect and OnCalcLinkHintRect events. This object enables you to obtain specific settings applied to the control background, scroll buttons and hints.

Use the properties of the TdxNavBarViewInfo object to determine the bounding rectangles and states of the elements processed by aforementioned events. This object’s methods enable you to obtain style settings of these elements.


TdxNavBarGroupViewInfo

TdxNavBarGroupViewInfo Object

Hierarchy Properties Methods

Contains information about the look & feel of a NavBar group.

Unit

dxNavBar

TdxNavBarGroupViewInfo = class(TObject)

Description

The TdxNavBarGroupViewInfo object is passed as the parameter to the OnCustomDraw.GroupCaption, OnCustomDraw.GroupClientBackground, OnCustomDraw.GroupClientForeground and OnCalcGroupClientHeight events. This object enables you to identify the group related to the event via the Group property.

When handling custom painting events, you will need information about the layout of elements within the group. The following table lists the most commonly used properties that provide such information.

Property | Description
CaptionRect | Returns the bounding rectangle of the group header.
CaptionImageRect | Returns the bounding rectangle of an image displayed within the group header.
CaptionSignRect | Returns the bounding rectangle of the group header sign.
CaptionTextRect | Returns the bounding rectangle of the text displayed within the group header.
ItemsRect | Returns the bounding rectangle of the group’s client area.
State | Returns the current state of the group header (hot-tracked, pressed, etc.).

Note that you can also obtain all the style characteristics applied to the group header and its client area via the methods of the TdxNavBarGroupViewInfo object.


TdxNavBarLinkViewInfo

TdxNavBarLinkViewInfo Object

Hierarchy Properties Methods

Contains information about the look & feel of a NavBar link.

Unit

dxNavBar

TdxNavBarLinkViewInfo = class

Description

The TdxNavBarLinkViewInfo object is passed as the parameter to the OnCustomDraw.Link event. This object enables you to identify the link related to the event via the Link property. Its associated item can be obtained using the Item property.

When handling custom painting events, you will need information about the layout of elements within the link and the link state. The following table lists the most commonly used class members that provide such information.

Member | Description
CaptionRect | Returns the bounding rectangle of the link caption.
ImageRect | Returns the bounding rectangle of the link image.
Rect | Returns the bounding rectangle of the whole link.
SelectionRect | Returns the selection rectangle for the link.
State | Returns the current state of the link.

Note that you can also obtain all the style characteristics applied to the link via the methods of the TdxNavBarLinkViewInfo object.


TdxNavBarCustomBackgroundPainter

TdxNavBarCustomBackgroundPainter Object

Hierarchy Methods See Also

Serves as the base for painter classes used to draw NavBar control's background.

Unit

dxNavBarCustomPainters

TdxNavBarCustomBackgroundPainter = class(TObject)

Description

This class provides the DrawBackground method, which calls the virtual InternalDrawBackground method. TdxNavBarCustomBackgroundPainter descendants override the InternalDrawBackground method to custom paint the background.

TdxNavBarCustomBackgroundPainter descendants include:

Descendant

Comment

TdxNavBarXPBackgroundPainter

Used by the XP2View.

TdxNavBarXPExplorerBarBackgroundPainter

Used by the XPExplorerBarView.

Note: If the native paint style is applied to these Views, TdxNavBarXPBackgroundPainter and TdxNavBarXPExplorerBarBackgroundPainter render the control background based on the current theme. Otherwise, the currently applied style settings are used.


TdxNavBarCustomButtonPainter

TdxNavBarCustomButtonPainter Object

Hierarchy Methods See Also

Serves as the base for painter classes used to draw group header buttons in NavBar controls.

Unit

dxNavBarCustomPainters

TdxNavBarCustomButtonPainter = class(TObject)

Description

This class provides the DrawButton method, which calls the virtual InternalDrawButton method. TdxNavBarCustomButtonPainter descendants override the InternalDrawButton method to custom paint group header buttons.

When you create a custom View for your NavBar control, you can provide your own painter of NavBar buttons. In this case, use TdxNavBarCustomButtonPainter or its descendant as the base class for your painter and implement the DrawButton method to draw the background as your needs dictate. Refer to the Registering Custom Views topic for more information.

The following table lists TdxNavBarCustomButtonPainter descendants and corresponding Views which use these painters. The last column shows the sample rectangles rendered by the DrawButton method. The method parameters were set as follows:

  • AColor1 to clBtnFace

  • AColor2 to clBtnFace

  • AAlphaBlend1 to 255

  • AAlphaBlend2 to 255

  • AState to [sSelected]

Descendant

Comment

The region rendered by the painter

TdxNavBarBaseButtonPainter

Used in BaseView

TdxNavBarFlatButtonPainter

Used in FlatView and XP1View

TdxNavBarVSToolBoxButtonPainter

Used in VSToolBoxView

TdxNavBarOfficeButtonPainter

Used in Office1View, Office2View and Office3View

TdxNavBarXPButtonPainter

Used in XP2View

TdxNavBarExplorerButtonPainter

Used in ExplorerBarView and UltraFlatExplorerBarView

TdxNavBarOffice11NavPaneGroupButtonPainter

Used in Office11NavigationPaneView

TdxNavBarOffice11NavPaneButtonPainter

Used in Office11NavigationPaneView

TdxNavBarAdvExplorerButtonPainter

Used in AdvExplorerBarView

TdxNavBarXPExplorerBarButtonPainter

Used in XPExplorerBarView


TdxNavBarCustomHintPainter

TdxNavBarCustomHintPainter Object

Hierarchy Methods See Also

Serves as the base for painter classes used to draw hints for NavBar groups and links.

Unit

dxNavBarCustomPainters

TdxNavBarCustomHintPainter = class(TObject)

Description

This class provides the DrawHint method, which calls the virtual InternalDrawHint method to draw group and link hints of a NavBar control.

When you create a custom View for your NavBar control, you can provide your own painter for NavBar hints. In this case, use TdxNavBarCustomHintPainter as the base class for your painter and override the InternalDrawHint method to draw group and link hints as your needs dictate. Refer to the Registering Custom Views topic for more information.


TdxNavBarCustomImagePainter

TdxNavBarCustomImagePainter Object

Hierarchy Methods See Also

Serves as the base for painter classes used to draw an image list item on a specified canvas.

Unit

dxNavBarCustomPainters

TdxNavBarCustomImagePainter = class(TObject)

Description

This class provides the DrawImage method, which calls the virtual InternalDrawImage method to draw group and link hints of a NavBar control. The DrawImage method is called to draw:

  • images within group headers (supported by Explorer Bar Views)

  • link images

When you create a custom View for your NavBar control, you can provide your own painter for these images. In this case, use TdxNavBarCustomImagePainter as the base class for your painter and override the InternalDrawImage method to draw images as your needs dictate. Refer to the Registering Custom Views topic for more information.


TdxNavBarCustomScrollButtonsPainter

TdxNavBarCustomScrollButtonsPainter Object

Hierarchy Methods See Also

Serves as the base for painter classes used to draw NavBar scroll buttons.

Unit

dxNavBarCustomPainters

TdxNavBarCustomScrollButtonsPainter = class(TObject)

Description

This class provides the DrawTopButton and DrawBottomButton methods, which call the virtual InternalDrawTopButton and InternalDrawBottomButton methods. TdxNavBarCustomScrollButtonsPainter descendants override the InternalDrawTopButton and InternalDrawBottomButton methods to custom paint top and bottom scroll buttons.

TdxNavBarCustomScrollButtonsPainter descendants include:

Descendant

Comment

Sample image

TdxNavBarBaseScrollButtonsPainter

Used by the BaseView, FlatView, Office1View, Office2View, Office3View, and VSToolBoxView

A scroll button drawn by the BaseView:

TdxNavBarXPScrollButtonsPainter

Used by the XP1View and XP2View

A scroll button drawn by the XP1View:

When you create a custom View for your NavBar control, you can provide your own painter for scroll buttons. In this case, use TdxNavBarCustomImagePainter as the base class for your painter and override the InternalDrawTopButton and InternalDrawBottomButton methods to draw images as your needs dictate. Refer to the Registering Custom Views topic for more information.

Note: Explorer Bar Views do not support scroll buttons.


TdxNavBarCustomSelectionPainter

TdxNavBarCustomSelectionPainter Object

Hierarchy Methods See Also

Serves as the base for painter classes used to draw selection within a NavBar control.

Unit

dxNavBarCustomPainters

TdxNavBarCustomSelectionPainter = class(TObject)

Description

The selection is used to draw the background of pressed, selected and hot-tracked links. The TdxNavBarCustomSelectionPainter class provides the DrawSelection method, which calls the virtual InternalDrawSelection method. TdxNavBarCustomSelectionPainter descendants override the InternalDrawSelection method to custom paint the selection.

TdxNavBarCustomSelectionPainter descendants include:

Descendant

Comment

Sample image

TdxNavBarBaseSelectionPainter

Used in the BaseView, FlatView, and Office1View

TdxNavBarXPSelectionPainter

Used in the XP1View, and XP2View

TdxNavBarUltraFlatSelectionPainter

Used in the Office2View, Office3View, and UltraFlatExplorerBarView

TdxNavBarVSToolBoxSelectionPainter

Used in the VSToolBoxView

When you create a custom View for your NavBar control, you can provide your own painter for the selection. In this case, use TdxNavBarCustomSelectionPainter or its descendant as the base class for your painter and override the InternalDrawSelection method to draw the selection as your needs dictate. Refer to the Registering Custom Views topic for more detailed information.

Note: ExplorerBarView, AdvExplorerBarView and XPExplorerBarView do not support the selection.


TdxNavBarCustomSignPainter

TdxNavBarCustomSignPainter Object

Hierarchy Methods See Also

Serves as the base for painter classes used to draw a group header sign.

Unit

dxNavBarCustomPainters

TdxNavBarCustomSignPainter = class(TObject)

Description

This class provides the DrawSign method, which calls the virtual InternalDrawSign method. TdxNavBarCustomSignPainter descendants override the InternalDrawSign method to custom paint the group header sign (double arrow).

TdxNavBarCustomSignPainter descendants include:

Descendant

Comment

Sample image

TdxNavBarExplorerBarSignPainter

Used in the ExplorerBarView and UltraFlatExplorerBarView

TdxNavBarAdvExplorerBarSignPainter

Used in the AdvExplorerBarView

TdxNavBarXPExplorerBarSignPainter

Used in the XPExplorerBarView

TdxNavBarOffice11ExplorerBarSignPainter

Used in Office11ExplorerBarView

TdxNavBarOffice11SignPainter

Used in Office11TaskPaneView

When you create a custom View for a NavBar control, you can provide your own painter for group header signs. In this case, use TdxNavBarCustomSignPainter or its descendant as the base class for your painter and override the InternalDrawSign method to draw the group header sign as your needs dictate. Refer to the Registering Custom Views topic for more detailed information.


cxNavBarDefaultLargeImageHeight constant

cxNavBarDefaultLargeImageHeight global constant

Specifies the height of large images.

Unit

cxNavBarConsts

cxNavBarDefaultLargeImageHeight = 32;

Description

Large and small images can be assigned to such NavBar control elements as group headers and links. The types of images displayed within these elements are specified by the UseSmallImages and LinksUseSmallImages properties of a group.

The dxNavBarDefaultLargeImageHeight global constant represents the default height (in pixels) of large images displayed within the NavBar control.


cxNavBarDefaultLargeImageWidth constant

cxNavBarDefaultLargeImageWidth global constant

Specifies the width of large images.

Unit

cxNavBarConsts

cxNavBarDefaultLargeImageWidth = 32;

Description

Large and small images can be assigned to such NavBar control elements as group headers and links. The types of images displayed within these elements are specified by the UseSmallImages and LinksUseSmallImages properties of a group.

The dxNavBarDefaultLargeImageWidth global constant represents the default width (in pixels) of large images displayed within the NavBar control.


cxNavBarDefaultSmallImageHeight constant

cxNavBarDefaultSmallImageHeight global constant

Specifies the height of small images.

Unit

cxNavBarConsts

cxNavBarDefaultSmallImageHeight = 16;

Description

Large and small images can be assigned to such NavBar control elements as group headers and links. The types of images displayed within these elements are specified by the UseSmallImages and LinksUseSmallImages properties of a group.

The dxNavBarDefaultSmallImageHeight global constant represents the default height (in pixels) of small images displayed within the NavBar control.


cxNavBarDefaultSmallImageWidth constant

cxNavBarDefaultSmallImageWidth global constant

Specifies the width of small images.

Unit

cxNavBarConsts

cxNavBarDefaultSmallImageWidth = 16;

Description

Large and small images can be assigned to such NavBar control elements as group headers and links. The types of images displayed within these elements are specified by the UseSmallImages and LinksUseSmallImages properties of a group.

The dxNavBarDefaultSmallImageWidth global constant represents the default width (in pixels) of small images displayed within the NavBar control.


cxNavBarScrollInterval constant

cxNavBarScrollInterval global constant

Specifies the time interval, after a user clicks and holds down a scroll button, before scrolling is started.

Unit

cxNavBarConsts

cxNavBarScrollInterval = 300;

Description

The group’s client area can be scrolled when links don't fit into it. The end user can perform scrolling by clicking scroll buttons. Continuous scrolling can be performed after the end user holds down a scroll button for the time interval specified via the cxNavBarScrollInterval constant. This constant represents an integer value specifying the time interval in milliseconds.


dxNavBarDragObject variable

Represents the NavBars drag object used for managing drag operations.

Unit

dxNavBar

dxNavBarDragObject: TdxNavBarDragObject;

Description

The dxNavBarDragObject contains state information of the current drag & drop action. Please refer to the Drag & Drop Operations topic for details on using the obtained object.


TdxBarStyleHAlignment

TdxBarStyleHAlignment type

Specifies the horizontal alignment of an element’s contents.

Unit

dxNavBarStyles

TdxBarStyleHAlignment = (haLeft, haCenter, haRight);

Description

The TdxBarStyleHAlignment type contains the values controlling the horizontal position of an element’s contents. The following table represents available enumerator values.

Value

Description

haLeft

The element’s contents are left justified.

haCenter

The element’s contents are horizontally centered.

haRight

The element’s contents are right justified.


TdxBarStyleVAlignment

TdxBarStyleVAlignment type

Specifies the vertical alignment of an element’s contents.

Unit

dxNavBarStyles

TdxBarStyleVAlignment = (vaTop, vaCenter, vaBottom);

Description

The TdxBarStyleVAlignment type contains the values controlling the vertical position of an element’s contents. The following table represents available enumerator values.

Value

Description

vaTop

The element’s contents are aligned by the top.

vaCenter

The element’s contents are vertically centered.

vaBottom

The element’s contents are aligned by the bottom.


TdxBarStyleGradientMode

TdxBarStyleGradientMode type

Contains values specifying the direction of the linear gradient brush.

Unit

dxNavBarStyles

TdxBarStyleGradientMode = (gmHorizontal, gmVertical, gmForwardDiagonal, gmBackwardDiagonal);

Description

The TdxBarStyleGradientMode type contains the values specifying the direction for the linear gradient brush. The linear gradient brush is used to draw the background of elements when both the BackColor and BackColor2 properties of the style used by a specific element are set. The following table lists available enumerator values.

Value

Description

gmHorizontal

The linear gradient brush’s direction is horizontal.

gmVertical

The linear gradient brush’s direction is vertical.

gmForwardDiagonal

The linear gradient brush’s direction is diagonal starting from the top left corner.

gmBackwardDiagonal

The linear gradient brush’s direction is diagonal starting from the top right corner.


.topic 0x10000000
 Legend
 Protected
 Published
 ReadOnly


TdxCustomNavBar.ActiveGroup

TdxCustomNavBar See Also

Specifies the active group in the NavBar control.

property ActiveGroup: TdxNavBarGroup;

Description

Assign a TdxNavBarGroup object to the ActiveGroup property to activate the corresponding group. You can also do this by assigning the desired group’s index to the ActiveGroupIndex property. Note that the active group’s behavior differs for Side Bar and Explorer Bar Views. Please refer to the ActiveGroupIndex property description for details.


TdxCustomNavBar.ActiveGroupIndex

TdxCustomNavBar See Also

Specifies the index of the active group in the NavBar control.

property ActiveGroupIndex: Integer;

Description

The ActiveGroupIndex property accesses the active group by its index. This property can accept values between 0 and the last available group index. Thus, there is always an active group within the NavBar control. Note that the ActiveGroupIndex value is synchronized with the ActiveGroup value. The latter specifies the active group by its corresponding object.

Active groups have differences in different Views:

  • In Side Bar Views, the active group is the one currently expanded;

  • In Explorer Bar Views, the active group only differs from the others by its header style. Note: the active group header style is only used when the control’s ShowSpecialGroup property value is True.


TdxCustomNavBar.AllowSelectLinks

TdxCustomNavBar

Specifies whether an end-user can select links.

property AllowSelectLinks: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsBehavior.SideBar.AllowSelectLinks property instead.


TdxCustomNavBar.AssignDefaultStyles

TdxCustomNavBar Concepts

Assigns default styles to the NavBar control.

procedure AssignDefaultStyles;

Description

The AssignDefaultStyles method is used by the TdxCustomNavBar’s constructor and when changing the current View via the View property to assign default styles to the NavBar control. You can use the AssignDefaultStyles method to reapply default styles specified by the currently applied View.


TdxCustomNavBar.Create

TdxCustomNavBar

Creates and initializes an instance of NavBar control.

constructor Create; override;

Description

The Create method is used to create and initialize an instance of NavBar control. The constructor creates and initializes internal collections of Groups, Items, OptionsStyle.CustomStyles and OptionsStyle.DefaultStyles. Since the TdxCustomNavBar represents a base class for the NavBar object you should better call the Create method of the TdxNavBar class to create a NavBar control.


TdxCustomNavBar.Cursors

TdxCustomNavBar

Provides access to mouse pointer images for the current NavBar control.

property Cursors: TdxNavBarCursors;

Description

Refer to the TdxNavBarCursors class description to learn about available settings.


TdxCustomNavBar.DefaultStyles

TdxCustomNavBar

Provides access to default styles of the current NavBar control.

property DefaultStyles: TdxNavBarDefaultStyles;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.DefaultStyles property instead.


TdxCustomNavBar.Destroy

TdxCustomNavBar

Destroys an instance of the TdxCustomNavBar class.

destructor Destroy; override;

Description

The Destroy method is used to destroy an instance of the TdxCustomNavBar class. The destructor is called automatically; you need not manually call it.


TdxCustomNavBar.DragCopyCursor

TdxCustomNavBar

Specifies the mouse pointer displayed when dragging a link while holding down the CTRL key.

property DragCopyCursor: TCursor;

Description

This property is obsolete and used for compatibility purposes. Use the Cursors.DragCopyCursor property instead.


TdxCustomNavBar.DragDropFlags

TdxCustomNavBar Concepts

Specifies the behavior of the NavBar control related to drag & drop operations.

type

TdxNavBarDragDropFlag = (fAllowDragLink, fAllowDropLink, fAllowDragGroup, fAllowDropGroup);

TdxNavBarDragDropFlags = set of TdxNavBarDragDropFlag;

property DragDropFlags: TdxNavBarDragDropFlags;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsBehavior.Common.DragDropFlags property instead.


TdxCustomNavBar.EachGroupHasSelectedLink

TdxCustomNavBar Concepts See Also

Indicates whether each NavBar group can have a selected link.

property EachGroupHasSelectedLink: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsBehavior.SideBar.EachGroupHasSelectedLink property instead.


TdxCustomNavBar.EnableDragging

TdxCustomNavBar Concepts See Also

Specifies whether dragging is enabled in the NavBar control.

property EnableDragging: Boolean;

Description

Use the EnableDragging property to determine whether dragging is in process at the moment. The property is set to True automatically by the NavBar control when dragging starts and is set back to False when dragging finishes.

For more information regarding the drag & drop functionality of the NavBar control, please refer to the Internal and External Drag & Drop Operations article.

ReadOnly Property


TdxCustomNavBar.Groups

TdxCustomNavBar Concepts

Provides access to the collection of groups in the NavBar control.

property Groups: TdxNavBarGroups;

Description

Use the Groups property to get access to an object of the TdxNavBarGroups type which represents the NavBars groups collection. Use properties and methods of the TdxNavBarGroups object to manage this collection.

ReadOnly Property


TdxCustomNavBar.HotTrackedGroupCursor

TdxCustomNavBar

Specifies the mouse pointer displayed over hot-tracked group headers.

property HotTrackedGroupCursor: TCursor;

Description

This property is obsolete and used for compatibility purposes. Use the Cursors.HotTrackedGroupCursor property instead.


TdxCustomNavBar.HotTrackedLink

TdxCustomNavBar

Provides access to the NavBar link which is being hot-tracked at the moment.

property HotTrackedLink: TdxNavBarItemLink;

Description

Use the HotTrackedLink property to get access to the NavBar link which is being hot-tracked at the moment. A link is hot-tracked when mouse cursor rests over it.

The picture below shows hot-tracked NavBar link.

ReadOnly Property


TdxCustomNavBar.HotTrackedLinkCursor

TdxCustomNavBar

Specifies the mouse pointer displayed over hot-tracked NavBar links.

property HotTrackedLinkCursor: TCursor;

Description

This property is obsolete and used for compatibility purposes. Use the Cursors.HotTrackedLinkCursor property instead.


TdxCustomNavBar.Items

TdxCustomNavBar Concepts

Provides access to the list of items in the NavBar control.

property Items: TdxNavBarItems;

Description

The Items property is used to provide access to the list of items in the NavBar control. Use methods of the Items object to add, delete and get access to a particular NavBar item.

ReadOnly Property


TdxCustomNavBar.LargeImages

TdxCustomNavBar Concepts

Specifies the source of large images displayed by items and groups in the normal state.

property LargeImages: TCustomImageList;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsImage.LargeImages property instead.


TdxCustomNavBar.OnActiveGroupChanged

TdxCustomNavBar See Also

Fires when the active group changes.

property OnActiveGroupChanged: TNotifyEvent;

Description

Handle this event to perform additional actions when the NavBar active group changes. To prohibit a certain group from being activated, handle the OnActiveGroupChanging event.


TdxCustomNavBar.OnCalcGroupClientHeight

TdxCustomNavBar

Enables you to calculate custom height for groups’ client areas.

type

TdxNavBarCalcGroupClientHeightEvent = procedure(Sender: TObject; AViewInfo: TdxNavBarGroupViewInfo; var AHeight: Integer) of object;

property OnCalcGroupClientHeight: TdxNavBarCalcGroupClientHeightEvent;

Description

The OnCalcGroupClientHeight event is fired when a particular group client height needs to be recalculated. Assign a new integer value to the AHeight parameter to change the group’s client region height.

The Sender parameter specifies the sender of the event. The sender of the OnCalcGroupClientHeight event is the NavBar control.

The AViewInfo parameter gets access to the object of the TdxNavBarGroupViewInfo type which represents View information of the current NavBar group.

The AHeight parameter specifies height of the current group client region.

The OnCalcGroupClientHeight event is commonly used together with the OnCustomDraw.GroupClientForeground event. These are used to paint custom information within groups. The OnCalcGroupClientHeight event is used to specify the height of a group when there are no links in it.


TdxCustomNavBar.OnCalcGroupHintRect

TdxCustomNavBar Concepts

Enables you to assign custom sizes for hints displayed for NavBar groups.

type

TdxNavBarCalcGroupHintRectEvent = procedure(Sender: TObject; AGroup: TdxNavBarGroup; AViewInfo: TdxNavBarViewInfo; var R: TRect) of object;

property OnCalcGroupHintRect: TdxNavBarCalcGroupHintRectEvent;

Description

Write the OnCalcGroupHintRect event handler to define NavBar group hint dimensions.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The AGroup parameter specifies the group whose hint dimensions are to be calculated.

The AViewInfo parameter specifies an object of the TdxNavBarViewInfo type which represents View information of the NavBar control.

The R parameter specifies an object of the TRect type which represents rectangular dimensions of the NavBar group hint. The parameter’s initial values are calculated by the control itself, but you can change them.


TdxCustomNavBar.OnCalcLinkHintRect

TdxCustomNavBar Concepts

Fires when a particular NavBar link hint rectangular dimensions are recalculated.

type

TdxNavBarCalcLinkHintRectEvent = procedure(Sender: TObject; ALink: TdxNavBarItemLink; AViewInfo: TdxNavBarViewInfo; var R: TRect) of object;

property OnCalcLinkHintRect: TdxNavBarCalcLinkHintRectEvent;

Description

Write the OnCalcGroupHintRect event handler to define the dimensions of the hints of the NavBars links.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ALink parameter specifies an object of the TdxNavBarItemLink type which represents the NavBar link the hint dimensions are currently being calculated.

The AViewInfo parameter specifies an object of the TdxNavBarViewInfo type which represents View information of the NavBar control.

The R parameter specifies an object of the TRect type which represents rectangular dimensions of the NavBar link hint. The parameter’s initial values are calculated by the control itself, but you can change them.


TdxCustomNavBar.OnCustomDrawBackground

TdxCustomNavBar

Allows you to custom paint the NavBar control’s background.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarViewInfo; var AHandled: Boolean) of object;

property OnCustomDrawBackground: TdxNavBarCustomDrawEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.Background event instead.


TdxCustomNavBar.OnCustomDrawBottomScrollButton

TdxCustomNavBar

Enables you to paint bottom scroll buttons in a custom manner.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarViewInfo; var AHandled: Boolean) of object;

property OnCustomDrawTopScrollButton: TdxNavBarCustomDrawEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.BottomScrollButton event instead.


TdxCustomNavBar.OnCustomDrawGroupCaption

TdxCustomNavBar

Allows you to custom paint NavBar group headers.

type

TdxNavBarCustomDrawGroupEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarGroupViewInfo; var AHandled: Boolean) of object;

property OnCustomDrawGroupCaption: TdxNavBarCustomDrawGroupEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.GroupCaption event instead.


TdxCustomNavBar.OnCustomDrawGroupClientBackground

TdxCustomNavBar

Allows you to custom paint a group’s client background area.

type

TdxNavBarCustomDrawGroupEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarGroupViewInfo; var AHandled: Boolean) of object;

property OnCustomDrawGroupClientBackground: TdxNavBarCustomDrawGroupEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.GroupClientBackground event instead.


TdxCustomNavBar.OnCustomDrawGroupClientForeground

TdxCustomNavBar

Allows you to custom paint a group’s client foreground area.

type

TdxNavBarCustomDrawGroupEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarGroupViewInfo; var AHandled: Boolean) of object;

property OnCustomDrawGroupClientForeground: TdxNavBarCustomDrawGroupEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.GroupClientForeground event instead.


TdxCustomNavBar.OnCustomDrawGroupHint

TdxCustomNavBar

Allows you to custom paint group hints.

type

TdxNavBarCustomDrawGroupHintEvent = procedure(Sender: TObject; ACanvas: TCanvas; AGroup: TdxNavBarGroup; AHint: string; R: TRect; var AHandled: Boolean) of object;

property OnCustomDrawGroupHint: TdxNavBarCustomDrawGroupHintEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.GroupHint event instead.


TdxCustomNavBar.OnCustomDrawLink

TdxCustomNavBar

Allows you to custom paint NavBar links.

type

TdxNavBarCustomDrawLinkEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarLinkViewInfo; var AHandled: Boolean) of object;

property OnCustomDrawLink: TdxNavBarCustomDrawLinkEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.Link event instead.


TdxCustomNavBar.OnCustomDrawLinkHint

TdxCustomNavBar

Allows you to custom paint link hints.

type

TdxNavBarCustomDrawLinkHintEvent = procedure(Sender: TObject; ACanvas: TCanvas; ALink: TdxNavBarItemLink; AHint: string; R: TRect; var AHandled: Boolean) of object;

property OnCustomDrawLinkHint: TdxNavBarCustomDrawLinkHintEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.LinkHint event instead.


TdxCustomNavBar.OnCustomDrawTopScrollButton

TdxCustomNavBar

Enables you to paint top scroll buttons in a custom manner.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarViewInfo; var AHandled: Boolean) of object;

property OnCustomDrawTopScrollButton: TdxNavBarCustomDrawEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.TopScrollButton event instead.


TdxCustomNavBar.OnGetGroupHint

TdxCustomNavBar Concepts

Allows you to specify custom text for hints displayed for groups.

type

TdxNavBarGetGroupHintEvent = procedure(Sender: TObject; AGroup: TdxNavBarGroup; var AHint: string) of object;

property OnGetGroupHint: TdxNavBarGetGroupHintEvent;

Description

Write an OnGetGroupHint event handler to define hint text of a particular NavBar group. In order for the event to fire the NavBar control’s OptionsBehavior.Common.ShowGroupsHint property should be set to True.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The AGroup parameter specifies an object of the TdxNavBarGroup type which represents the NavBar group being hot-tracked.

The AHint parameter specifies text content of the group hint.


TdxCustomNavBar.OnGetLinkHint

TdxCustomNavBar Concepts

Allows you to specify custom text for hints displayed for links.

type

TdxNavBarGetLinkHintEvent = procedure(Sender: TObject; ALink: TdxNavBarItemLink; var AHint: string) of object;

property OnGetLinkHint: TdxNavBarGetLinkHintEvent;

Description

Write an OnGetLinkHint event handler to define hint text of a particular NavBar link. In order for the event to fire the OptionsBehavior.Common.ShowLinksHint property should be set to True.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ALink parameter specifies an object of the TdxNavBarItemLink type which represents the NavBar link being hot-tracked.

The AHint parameter specifies text content of the link hint.


TdxCustomNavBar.OnGroupClick

TdxCustomNavBar

Fires when a NavBar group is clicked.

type

TdxNavBarGroupEvent = procedure(Sender: TObject; AGroup: TdxNavBarGroup) of object;

property OnGroupClick: TdxNavBarGroupEvent;

Description

Write an OnGroupClick event handler to respond to clicking group headers. The OnGroupClick event is fired after the OnGroupPress event when the end-user releases mouse button.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The AGroup parameter specifies an object of the TdxNavBarGroup type which represents the NavBar group whose header has been clicked.


TdxCustomNavBar.OnGroupHotTrack

TdxCustomNavBar

Fires when the mouse cursor pauses over a NavBar group.

type

TdxNavBarGroupEvent = procedure(Sender: TObject; AGroup: TdxNavBarGroup) of object;

property OnGroupHotTrack: TdxNavBarGroupEvent;

Description

Write an event handler for the OnGroupHotTrack event to perform specific actions each time a group header is hot-tracked. This can be used, for instance, to display explanatory information within the status bar of your application. If you need to response to hot-tracking links, use the OnLinkHotTrack event.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The AGroup parameter specifies an object of the TdxNavBarGroup type which represents the NavBar group being hot-tracked.


TdxCustomNavBar.OnGroupPress

TdxCustomNavBar

Fires when a NavBar group is pressed.

type

TdxNavBarGroupEvent = procedure(Sender: TObject; AGroup: TdxNavBarGroup) of object;

property OnGroupPress: TdxNavBarGroupEvent;

Description

Write an OnGroupPress event handler to respond to pressing NavBar groups. The event is fired when the mouse is over a group and the end-user presses a mouse button without releasing it. To respond to pressing NavBar links you should use the OnLinkPress event.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The AGroup parameter specifies an object of the TdxNavBarGroup type which represents the pressed NavBar group.


TdxCustomNavBar.OnLinkClick

TdxCustomNavBar

Fires when a NavBar link is clicked.

type

TdxNavBarLinkEvent = procedure(Sender: TObject; ALink: TdxNavBarItemLink) of object;

property OnLinkClick: TdxNavBarLinkEvent;

Description

Write an OnLinkClick event handler to determine which NavBar link has been clicked. The OnLinkClick event is fired after the OnLinkPress event when the end-user releases mouse button.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ALink parameter specifies an object of the TdxNavBarItemLink type which represents the clicked NavBar link.


TdxCustomNavBar.OnLinkHotTrack

TdxCustomNavBar

Fires when the mouse cursor pauses over a NavBar link.

type

TdxNavBarLinkEvent = procedure(Sender: TObject; ALink: TdxNavBarItemLink) of object;

property OnLinkHotTrack: TdxNavBarLinkEvent;

Description

Write an OnLinkHotTrack event handler to determine which NavBar link is currently being hot-tracked. This can be used, for instance, to display explanatory information about the link within the status bar of your application. If you need to perform specific actions when group headers are hot-tracked, use the OnGroupHotTrack event.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ALink parameter specifies an object of the TdxNavBarItemLink type which represents the NavBar link being hot-tracked.


TdxCustomNavBar.OnLinkPress

TdxCustomNavBar

Fires when a NavBar link is pressed.

type

TdxNavBarLinkEvent = procedure(Sender: TObject; ALink: TdxNavBarItemLink) of object;

property OnLinkPress: TdxNavBarLinkEvent;

Description

Write an OnLinkPress event handler to determine which NavBar link has just been pressed. The event is fired when mouse is over a link and the end-user presses a mouse button without releasing it.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ALink parameter specifies an object of the TdxNavBarItemLink type which represents the pressed NavBar link.


TdxCustomNavBar.Painter

TdxCustomNavBar Concepts

Gets an object implementing the painting functionality of the NavBar control.

property Painter: TdxNavBarPainter;

Description

The Painter property represents an object of the TdxNavBarPainter type which implements painting functionality of the NavBar control. Mostly, you will have no need to use this property in your applications.

ReadOnly Property


TdxCustomNavBar.PressedGroup

TdxCustomNavBar

Gets the group whose header is currently pressed.

property PressedGroup: TdxNavBarGroup;

Description

Use the PressedGroup property to determine which NavBar group is currently pressed. Use properties and methods of the PressedGroup result to manipulate the pressed group.

The property returns nil if none of the NavBar groups are pressed.

ReadOnly Property


TdxCustomNavBar.PressedLink

TdxCustomNavBar

Gets the currently pressed link.

property PressedLink: TdxNavBarItemLink;

Description

Use the PressedLink property to determine which NavBar link is currently pressed. Use properties and methods of the PressedLink result to manipulate the pressed link.

The property returns nil if none of the NavBar links are pressed.

ReadOnly Property


TdxCustomNavBar.ScrollPosition

TdxCustomNavBar

Gets an integer value which represents the current position of the scroll bar.

property ScrollPosition: Integer;

Description

Use the ScrollPosition property to determine the current position of the scroll bar. If the scroll bar is not visible the ScrollPosition property returns 0. The scroll bar is visible only when an Explorer Bar View is applied to the NavBar control and the contents of its group don’t fit into the control’s client area.

ReadOnly Property


TdxCustomNavBar.ShowGroupCaptions

TdxCustomNavBar

Specifies whether group headers are visible.

property ShowGroupCaptions: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsView.Common.ShowGroupCaptions property instead.


TdxCustomNavBar.ShowGroupsHint

TdxCustomNavBar

Specifies whether hints are shown for the NavBar groups.

property ShowGroupsHint: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsBehavior.Common.ShowGroupsHint property instead.


TdxCustomNavBar.ShowLinksHint

TdxCustomNavBar

Specifies whether hints are shown for the NavBar links.

property ShowLinksHint: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsBehavior.Common.ShowLinksHint property instead.


TdxCustomNavBar.SmallImages

TdxCustomNavBar Concepts

Specifies the source of small images displayed by items and groups in the normal state.

property SmallImages: TCustomImageList;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsImage.SmallImages property instead.


TdxCustomNavBar.SourceGroup

TdxCustomNavBar Concepts

Gets the NavBar group which is being dragged at the moment.

property SourceGroup: TdxNavBarGroup;

Description

The SourceGroup property is initialized when a group is pressed. The TdxNavBarGroup object representing the pressed group is assigned to it. When performing drag & drop operations, this property can be used to identify the group being dragged.

ReadOnly Property


TdxCustomNavBar.SourceItem

TdxCustomNavBar Concepts

Gets the NavBar item whose corresponding link is being dragged at the moment.

property SourceItem: TdxNavBarItem;

Description

When a link is pressed, the SourceItem property is initialized with the TdxNavBarItem object representing the corresponding item. You can use this property to identify the item corresponding to the link being dragged when performing links drag & drop.

ReadOnly Property


TdxCustomNavBar.SourceLink

TdxCustomNavBar Concepts

Gets the NavBar link which is being dragged at the moment.

property SourceLink: TdxNavBarItemLink;

Description

The SourceLink property is initialized each time a link is pressed. The TdxNavBarItemLink object representing the pressed link is assigned to it. When performing drag & drop operations, you can use the SourceLink property to determine the link being dragged at the moment.

ReadOnly Property


TdxCustomNavBar.SourcePoint

TdxCustomNavBar

Gets the point at which the current drag & drop operation has been initiated.

property SourcePoint: TPoint;

Description

Each time a link or a group header is pressed, the SourcePoint property is initialized with the mouse cursor coordinates. Thus, you can use the SourcePoint property to get the location of the mouse pointer from which the drag & drop operation has started. At that time, the mouse pointer was located over the object which is currently being dragged.

ReadOnly Property


TdxCustomNavBar.SpaceBetweenGroups

TdxCustomNavBar

Specifies the distance (in pixels) between groups.

property SpaceBetweenGroups: Integer;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsView.ExplorerBar.SpaceBetweenGroups property instead.


TdxCustomNavBar.StyleBackground

TdxCustomNavBar

Specifies a custom style applied to the NavBar control’s client area.

property StyleBackground: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyles.Background property instead.


TdxCustomNavBar.StyleButton

TdxCustomNavBar

Specifies a custom style applied to scroll buttons.

property StyleButton: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyles.Button property instead.


TdxCustomNavBar.StyleButtonHotTracked

TdxCustomNavBar

Specifies a custom style applied to scroll buttons when the mouse pointer is over them.

property StyleButtonHotTracked: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyles.ButtonHotTracked property instead.


TdxCustomNavBar.StyleButtonPressed

TdxCustomNavBar

Specifies a custom style applied to scroll buttons when users press them.

property StyleButtonPressed: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyles.ButtonPressed property instead.


TdxCustomNavBar.StyleDropTargetGroup

TdxCustomNavBar

Specifies a custom style applied to target groups being dragged over.

property StyleDropTargetGroup: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyles.DropTargetGroup property instead.


TdxCustomNavBar.StyleDropTargetLink

TdxCustomNavBar

Specifies a custom style applied to the line indicating the target position of the dragged link.

property StyleDropTargetLink: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyles.DropTargetLink property instead.


TdxCustomNavBar.StyleHint

TdxCustomNavBar

Specifies a custom style applied to hints displayed for group headers and links.

property StyleHint: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyles.Hint property instead.


TdxCustomNavBar.Styles

TdxCustomNavBar

Provides access to a style repository containing all custom styles defined within the current NavBar control.

property Styles: TdxNavBarStyleRepository;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyleRepository property instead.

ReadOnly Property


TdxCustomNavBar.TargetGroup

TdxCustomNavBar Concepts

Represents a target group in drag & drop operations.

property TargetGroup: TdxNavBarGroup;

Description

The TargetGroup property returns the NavBar group onto which another group is being dragged. The property returns nil in drag & drop operations when the target point does not belong to the current NavBar control.

ReadOnly Property


TdxCustomNavBar.TargetLink1

TdxCustomNavBar Concepts

Specifies the NavBar link next to which a dragged link is about to be dropped.

property TargetLink1: TdxNavBarItemLink;

Description

The TargetLink1 property is used in drag & drop operations to get access to the NavBar link next to the target link. The property returns nil when the target point does not belong to the current NavBar control or no dragging is currently performed.

To get access to the NavBar link prior to which the dragged link has been dropped you should use the TargetLink2 property.

ReadOnly Property


TdxCustomNavBar.TargetLink2

TdxCustomNavBar Concepts

Specifies NavBar link prior to which a dragged link is about to be dropped.

property TargetLink2: TdxNavBarItemLink;

Description

The TargetLink2 property is used in drag & drop operations to get access to the NavBar link prior to the target link. The property returns nil in drag & drop operations when the target point does not belong to the current NavBar control or no dragging is currently performed.

To get access to the NavBar link next to which the dragged link has been dropped you should use the TargetLink1 property.

ReadOnly Property


TdxCustomNavBar.TargetLinkIndex

TdxCustomNavBar

Returns index position the dragged link will be inserted into.

property TargetLinkIndex: Integer;

Description

Use the TargetLinkIndex property to determine the index position the currently dragged NavBar link will be inserted into.

ReadOnly Property


TdxCustomNavBar.TargetPoint

TdxCustomNavBar

Gets the current mouse pointer coordinates relative to the top-left corner of the control.

property TargetPoint: TPoint;

Description

The value of the TargetPoint property is changed each time the mouse pointer moves. When dragging an object, this property can be used determine the coordinates where the object is about to be dropped. Note that coordinates returned by the TargetPoint property are set relatively to the top-left corner of the control.

ReadOnly Property


TdxCustomNavBar.View

TdxCustomNavBar Concepts

Specifies the View currently applied to the control.

property View: Integer;

Description

Possible values include:

Value (ID) | Constant | View | Painter Class | Painter Unit Name
0 | dxNavBarBaseView | BaseView | TdxNavBarBasePainter | dxNavBarBaseViews
1 | dxNavBarFlatView | FlatView | TdxNavBarFlatPainter | dxNavBarBaseViews
2 | dxNavBarOffice1View | Office1View | TdxNavBarOffice1Painter | dxNavBarOfficeViews
3 | dxNavBarOffice2View | Office2View | TdxNavBarOffice2Painter | dxNavBarOfficeViews
4 | dxNavBarOffice3View | Office3View | TdxNavBarOffice3Painter | dxNavBarOfficeViews
5 | dxNavBarVSToolBoxView | VSToolBoxView | TdxNavBarVSToolBoxPainter | dxNavBarVSToolBoxViews
6 | dxNavBarXP1View | XP1View | TdxNavBarXP1Painter | dxNavBarXPViews
7 | dxNavBarXP2View | XP2View | TdxNavBarXP2Painter | dxNavBarXPViews
8 | dxNavBarExplorerBarView | ExplorerBarView | TdxNavBarExplorerBarPainter | dxNavBarExplorerViews
9 | dxNavBarUltraFlatExplorerView | UltraFlatExplorerBarView | TdxNavBarUltraFlatExplorerBarPainter | dxNavBarExplorerViews
10 | dxNavBarAdvExplorerBarView | AdvExplorerBarView | TdxNavBarAdvExplorerBarPainter | dxNavBarExplorerViews
11 | dxNavBarXPExplorerBarView | XPExplorerBarView | TdxNavBarXPExplorerBarPainter | dxNavBarXPViews
12 | dxNavBarOffice11TaskPaneView | Office11TaskPaneView | TdxNavBarOffice11Painter | dxNavBarOffice11Views
13 | dxNavBarOffice11NavigatorPaneView | Office11NavigationPaneView | TdxNavBarOffice11NavPanePainter | dxNavBarOffice11Views
14 | dxNavBarSkinExplorerBarView | SkinExplorerBarView | TdxNavBarSkinExplorerBarPainter | dxSkinsdxNavBar2Painter
15 | dxNavBarSkinNavigatorPaneView | SkinNavigationPaneView | TdxNavBarSkinNavPanePainter | dxSkinsdxNavBar2Painter
16 | dxNavBarOffice11ExplorerBarView | Office11ExplorerBarView | TdxNavBarOffice11ExplorerBarPainter | dxNavBarOffice11Views
17 | dxNavBarOffice12NavigatorPaneView | Office12NavigationPaneView | TdxNavBarOffice12NavPanePainter | dxNavBarOffice12Views
18 | dxNavBarOffice12ExplorerBarView | Office12ExplorerBarView | TdxNavBarOffice12ExplorerBarPainter | dxNavBarOffice12Views
19 | dxNavBarVistaExplorerBarView | VistaExplorerBarView | TdxNavBarVistaExplorerBarPainter | dxNavBarVistaViews

These constants are defined in the dxNavBarConsts unit.

To access settings that are specific to a painter for the currently applied View, cast the ViewStyle property value to a corresponding painter class.

Note: Each time a new View is assigned, the default styles are applied to the NavBar control. Any changes made to the default styles will be lost.


TdxCustomNavBar.BeginUpdate

TdxCustomNavBar

Prevents the control from being updated until the EndUpdate method is called.

procedure BeginUpdate;

Description

The BeginUpdate method should be used in combination with the EndUpdate method to prevent the control from being updated while performing sequential changes. The BeginUpdate method increments the internal counter (which is initially zero) by one and the EndUpdate method decrements it. The NavBar control only recalculates its View information and repaints itself when the counter value is zero. This enables you to perform batch modifications.

Suppose you need to change the expanded state of several groups. By default, this will result in updating the control after each group’s expanded state has changed. To avoid this, enclose your code within BeginUpdate and EndUpdate method calls. The control will only be repainted once, which gives you a performance benefit and avoids flicker.


TdxCustomNavBar.BorderStyle

TdxCustomNavBar

Specifies the current NavBar control’s border style.

type

TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin); TBorderStyle = bsNone..bsSingle;

property BorderStyle: TBorderStyle;

Description

Values include:

Value | Description
bsNone | No borders are displayed.
bsSingle | A single-line border is displayed.


TdxCustomNavBar.DragCursor

TdxCustomNavBar

Specifies the mouse pointer displayed when dragging a link or a group.

property DragCursor: TCursor;

Description

This property is obsolete and used for compatibility purposes. Use the Cursors.DragCursor property instead.


TdxCustomNavBar.EndUpdate

TdxCustomNavBar

Cancels the update lock established by the BeginUpdate method and forces immediate repainting of the control.

procedure EndUpdate;

Description

The EndUpdate method should be used in combination with the BeginUpdate method to perform batch modifications. Please refer to the BeginUpdate method description for details.


TdxCustomNavBar.GetGroupAtCaptionPos

TdxCustomNavBar See Also

Returns the group whose header is located under the specified point.

function GetGroupAtCaptionPos(pt: TPoint): TdxNavBarGroup;

Description

Use the GetGroupAtCaptionPos method to identify the group whose header is located under the specified point. If the pt parameter specifies a point over a group header, the corresponding group is returned. Otherwise, the GetGroupAtCaptionPos method returns nil. Thus, you can compare the method’s return value to nil to determine whether the point is over a group header.

Note: the point must be specified in the control’s client coordinates (i.e. relative to the top-left corner of the NavBar).

The sample code below handles the OnMouseMove event of the NavBar control to determine whether the mouse pointer is over a group header. If so, an explanatory message is displayed within the status bar. (Note that you must have a status bar with at least one panel added to use this example.)

// Delphi

procedure TfrmNavBarDemo.dxNavBarMouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

var

APoint: TPoint; AGroup: TdxNavBarGroup;

begin

APoint := Point(X, Y); AGroup := dxNavBar.GetGroupAtCaptionPos(APoint);

if AGroup = nil then

begin

StatusBar1.Panels[0].Text := '';

Exit;

end;

if AGroup.OptionsExpansion.Expanded then

StatusBar1.Panels[0].Text := 'Click to collapse the ' + AGroup.Caption + ' group'

else

StatusBar1.Panels[0].Text := 'Click to expand the ' + AGroup.Caption + ' group';

end;


TdxCustomNavBar.GetGroupAtItemsPos

TdxCustomNavBar See Also

Returns the group whose client area is located under the specified point.

function GetGroupAtItemsPos(pt: TPoint): TdxNavBarGroup;

Description

Use the GetGroupAtItemsPos method to determine which group has its client area located under the specified point. If the pt parameter specifies a point over a group’s client area, the corresponding group is returned. Otherwise, the GetGroupAtItemsPos method returns nil. Thus you can compare the method’s return value to nil to determine whether the specified point is over a group’s client area.

Note: the point must be specified in the control’s client coordinates (i.e. relative to the top-left corner of the NavBar).

The GetGroupAtItemsPos method can be used, for instance, to invoke different context menus when different groups’ client areas are clicked.


TdxCustomNavBar.GetLinkAtPos

TdxCustomNavBar See Also

Returns the link whose bounding rectangle is located under the specified point.

function GetLinkAtPos(pt: TPoint): TdxNavBarItemLink;

Description

Sometimes you may need to determine the element of the NavBar control located under the specified point. This can be used, for instance, if you need to invoke context menus for specific elements. In this case, you may handle the control’s OnMouseDown event to obtain the element under the mouse cursor position and decide whether to invoke a context menu.

The GetLinkAtPos method lets you determine the link under the specified point. If the pt parameter specifies a point located within a link’s bounding rectangle, the method returns the link. Otherwise, it returns nil. Thus you can compare the return value of the method to nil to determine whether the specified point is located over a link.

You can also use the GetLinkAtSelectedPos method to determine the link located under the specified point. This method returns a link if the point is over the link’s caption or image. Otherwise it returns nil. The image below illustrates the relation between the GetLinkAtPos and GetLinkAtSelectedPos methods.

The sample code below shows how to invoke a context menu for links corresponding to enabled items. It handles the OnMouseDown event of the NavBar control. The GetLinkAtPos method is used to determine the clicked link. (The code assumes that a popup menu component named PopupMenu1 resides on the form.)

// Delphi

procedure TfrmNavBarDemo.dxNavBarMouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

var

APoint: TPoint; ALink: TdxNavBarItemLink;

begin

if Button <> mbRight then Exit;

APoint := Point(X, Y); ALink := dxNavBar.GetLinkAtPos(APoint);

if ALink = nil then Exit;

if ALink.Item.Enabled then

begin

APoint := dxNavBar.ClientToScreen(APoint); PopupMenu1.Popup(APoint.X, APoint.Y);

end;

end;


TdxCustomNavBar.GetLinkAtSelectedPos

TdxCustomNavBar See Also

Returns the link whose caption or image is located under the specified point.

function GetLinkAtSelectedPos(pt: TPoint): TdxNavBarItemLink;

Description

When designing applications that use the NavBar control you may need to determine which element of the control is under the specified point. In particular, you may need to find out whether a specific point is over a link and retrieve the link. This can be used to display appropriate information within the status bar when a link is hovered over or invoke a context menu if a link is clicked, for instance. In this case, you should use the GetLinkAtSelectedPos or GetLinkAtPos methods to identify the link under the mouse cursor.

The GetLinkAtSelectedPos method returns the link whose caption or image is located under the specified point. If the pt parameter specifies a point over a link’s caption or image, it returns the corresponding link. Otherwise, nil is returned. Note that the point must be specified in the control’s client coordinates.

The GetLinkAtPos method acts in a similar way. The only difference is that it returns the link if the specified point is within the link’s bounding rectangle but not necessarily within the image or caption area. Please refer to the GetLinkAtPos method description for details.


TdxCustomNavBar.IsPtBottomScrollButton

TdxCustomNavBar See Also

Returns a value indicating whether the point specified is over the bottom scroll button.

function IsPtBottomScrollButton(pt: TPoint): Boolean;

Description

Use the IsPtBottomScrollButton method when you need to determine if a point is over the bottom scroll button. The point tested is specified by the pt parameter (in the client coordinates of the control). If the point is within the bottom scroll button’s bounding rectangle, the method returns True. Otherwise, False is returned.

If you need to determine whether a point is within the top scroll button’s area, use the IsPtTopScrollButton method.

The IsPtBottomScrollButton method can be used, for instance, when handling mouse movements or clicks to perform appropriate actions. The example below shows how to invoke a context menu when a group’s client area is clicked. If the clicked point is within the top or bottom scroll button, the menu is not invoked. The sample uses the GetGroupAtItemsPos, IsPtBottomScrollButton and IsPtTopScrollButton methods to see if the mouse cursor is over a group’s client area or whether it is over a scroll button. (The code assumes that there is a popup menu component named PopupMenu1 residing on the form.)

// Delphi

procedure TfrmNavBarDemo.dxNavBarMouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

var

APoint: TPoint;

begin

if Button <> mbRight then Exit;

APoint := Point(X, Y);

if dxNavBar.GetGroupAtItemsPos(APoint) = nil then Exit;

if dxNavBar.IsPtBottomScrollButton(APoint) or dxNavBar.IsPtTopScrollButton(APoint) then Exit;

APoint := dxNavBar.ClientToScreen(APoint); PopupMenu1.Popup(APoint.X, APoint.Y);

end;


TdxCustomNavBar.IsPtTopScrollButton

TdxCustomNavBar See Also

Returns a value indicating whether the specified point is over the top scroll button.

function IsPtTopScrollButton(pt: TPoint): Boolean;

Description

Use the IsPtTopScrollButton method to see if a point is within the top scroll button’s bounding rectangle. If so the method returns True. Otherwise, the return value is False. The point tested is specified by the pt parameter of the method. Note that it must be set in the client coordinates of the control (relatively to its top-left corner).

You can also see if a point is within the bottom scroll button’s bounding rectangle using the IsPtBottomScrollButton method. Please refer to its description for details on using these two methods.


TdxCustomNavBar.LoadFromIniFile

TdxCustomNavBar Concepts See Also

Loads the control’s layout from the specified INI file.

procedure LoadFromIniFile(AFileName: string; LoadStyles: Boolean = True);

Description

Use the LoadFromIniFile method to load settings from an INI file which was created using the SaveToIniFile method. The AFileName parameter specifies the INI file containing settings to load. The LoadStyles parameter specifies whether style settings must be loaded. This parameter is optional and defaults to True.

If the file specified by the AFileName parameter does not exist, an exception is raised. Also note that styles may not have been saved by the SaveToIniFile method call. In this case, the LoadStyles parameter value is ignored.

If storing settings within an INI file doesn’t suit your needs, refer to the SaveToRegistry and SaveToStream methods.


TdxCustomNavBar.LoadFromRegistry

TdxCustomNavBar Concepts See Also

Loads the control’s layout stored at the specified registry path.

procedure LoadFromRegistry(ARegistryPath: string; LoadStyles: Boolean = True);

Description

Use the LoadFromRegistry method to load settings from the specified registry path. The settings must have been saved to this path using the SaveToRegistry method.

The ARegistryPath parameter specifies the registry path containing the settings to load. If this path doesn’t exist or doesn’t contain NavBar settings, the LoadFromRegistry method does nothing. The LoadStyles parameter specifies whether to load style settings. It is optional and defaults to True. Note: if style settings haven’t been saved by the SaveToRegistry method call, the LoadStyles parameter is ignored.

If storing settings within the registry doesn’t suit your needs, refer to the SaveToIniFile and SaveToStream methods.


TdxCustomNavBar.LoadFromStream

TdxCustomNavBar Concepts See Also

Loads the control’s layout from the specified stream.

procedure LoadFromStream(AStream: TStream; LoadStyles: Boolean = True);

Description

Use the LoadFromStream method to load the control’s layout from a stream. Note that settings must have been saved using the SaveToStream method.

The AStream parameter specifies the stream from which to load settings. AStream can be any TStream descendant. For instance, you can use the TFileStream object to save/restore settings using a file. The LoadStyles parameter specifies whether to load style settings. It is optional and defaults to True. Note: if style settings haven’t been saved by the SaveToStream method, the LoadStyles parameter value is ignored.

If storing settings in a stream doesn’t suit your needs, refer to the SaveToIniFile and SaveToRegistry methods.


TdxCustomNavBar.MakeGroupVisible

TdxCustomNavBar

Makes the specified group’s contents completely visible on screen.

procedure MakeGroupVisible(AGroup: TdxNavBarGroup);

Description

Use the MakeGroupVisible method to show the contents of the group specified by the AGroup parameter. Note: in Side Bar Views, the method simply expands the specified group (makes it active). In Explorer Bar Views, the method expands the specified group and scrolls the View to make the group’s entire contents visible.

Note: if the group’s Visible property value is False, the MakeGroupVisible method does nothing. The method can only expand groups and scroll the control vertically. It cannot change a group’s visibility.


TdxCustomNavBar.MakeLinkVisible

TdxCustomNavBar

Makes the specified link visible on screen.

procedure MakeLinkVisible(ALink: TdxNavBarItemLink);

Description

Use the MakeLinkVisible method to display a link on the screen. The desired link is specified by the ALink parameter. If the link is within a collapsed group, the group is expanded. For a Side Bar View, the group is scrolled to make the link the top one visible, if possible. If an Explorer Bar View is in effect, the control is scrolled vertically to make the link the top one visible within the control, if possible.

Note: if the link’s owning group is invisible (its Visible property value is False), the method does nothing. Similarly, nothing occurs if the corresponding item’s Visible property is set to False. The MakeLinkVisible method can only expand groups, scroll their contents and scroll the control.


TdxCustomNavBar.NavigationPaneMaxVisibleGroups

TdxCustomNavBar

Specifies the number of visible group headers when a Navigation Pane View is applied.

property NavigationPaneMaxVisibleGroups: Integer;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsView.NavigationPane.MaxVisibleGroups property instead.


TdxCustomNavBar.NavigationPaneOverflowPanelItemCount

TdxCustomNavBar

Gets the number of icons displayed within the overflow panel.

property NavigationPaneOverflowPanelItemCount: Integer;

Description

Use the NavigationPaneOverflowPanelItemCount property to determine the number of icons within the overflow panel. This may be useful when custom painting the overflow panel using the OnCustomDraw.NavigationPaneOverflowPanel event, for instance.

ReadOnly Property


TdxCustomNavBar.NavigationPaneOverflowPanelUseSmallImages

TdxCustomNavBar

Specifies whether small or large group images are displayed within the overflow panel.

property NavigationPaneOverflowPanelUseSmallImages: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsView.NavigationPane.OverflowPanelUseSmallImages property instead.


TdxCustomNavBar.OnActiveGroupChanging

TdxCustomNavBar See Also

Enables you to prohibit a group from being activated.

type

TdxNavBarGroupChangingEvent = procedure(Sender: TObject; ANewGroup: TdxNavBarGroup; var AAllowChange: Boolean) of object;

property OnActiveGroupChanging: TdxNavBarGroupChangingEvent;

Description

The ANewGroup parameter provides access to the group being activated. To prohibit this group from being activated, pass False as the AAllowChange parameter. In this instance, the OnActiveGroupChanged event doesn’t fire.


TdxCustomNavBar.OnCalcNavigationPaneOverflowPanelHintRect

TdxCustomNavBar

Enables you to calculate hint rectangles for icons displayed within the overflow panel.

type

TdxNavBarCalcGroupHintRectEvent = procedure(Sender: TObject; AGroup: TdxNavBarGroup; AViewInfo: TdxNavBarViewInfo; var R: TRect) of object;

property OnCalcNavigationPaneOverflowPanelHintRect: TdxNavBarCalcGroupHintRectEvent;

Description

Handle the OnCalcNavigationPaneOverflowPanelHintRect event to provide custom bound rectangles for the hints that are displayed when pointing with the mouse cursor to the overflow panel’s icons. This is useful if you need to custom paint these hints by handling the OnCustomDraw.NavigationPaneOverflowPanel event.

The event’s Sender parameter identifies the NavBar control whose event is being handled. The AGroup parameter returns the group whose corresponding icon’s hint is about to be displayed. The control’s View information is passed via the AViewInfo parameter. The hint’s bounding rectangle should be assigned to the R parameter. Note that only the rectangle’s width and height are taken into account – the hint is always positioned automatically.

Note: hints for the overflow panel’s icons are enabled provided that the OptionsBehavior.NavigationPane.ShowOverflowPanelHints property value is True.


TdxCustomNavBar.OnCustomDraw

TdxCustomNavBar Concepts

Provides access to events that allow you to custom paint NavBar elements.

property OnCustomDraw: TdxNavBarCustomDrawEvents;

Description

Refer to the TdxNavBarCustomDrawEvents class description, to learn about available events.


TdxCustomNavBar.OnCustomDrawNavigationPaneHeader

TdxCustomNavBar

Enables you to custom paint the navigation pane’s header section.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject ; ACanvas: TCanvas ; AViewInfo: TdxNavBarViewInfo ; var AHandled: Boolean) of object;

property OnCustomDrawNavigationPaneHeader: TdxNavBarCustomDrawEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.NavigationPaneHeader event instead.


TdxCustomNavBar.OnCustomDrawNavigationPaneOverflowPanel

TdxCustomNavBar

Enables you to custom paint the navigation pane’s overflow panel.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject ; ACanvas: TCanvas ; AViewInfo: TdxNavBarViewInfo ; var AHandled: Boolean) of object;

property OnCustomDrawNavigationPaneOverflowPanel: TdxNavBarCustomDrawEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.NavigationPaneOverflowPanel event instead.


TdxCustomNavBar.OnCustomDrawNavigationPaneOverflowPanelHint

TdxCustomNavBar

Enables you to custom paint the hints displayed for the overflow panel's icons.

type

TdxNavBarCustomDrawGroupHintEvent = procedure(Sender: TObject ; ACanvas: TCanvas ; AGroup: TdxNavBarGroup ; AHint: string; R: TRect ; var AHandled: Boolean) of object;

property OnCustomDrawNavigationPaneOverflowPanelHint: TdxNavBarCustomDrawGroupHintEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.NavigationPaneOverflowPanelHint event instead.


TdxCustomNavBar.OnCustomDrawNavigationPaneSplitter

TdxCustomNavBar

Enables you to custom paint the navigation pane’s splitter.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject ; ACanvas: TCanvas ; AViewInfo: TdxNavBarViewInfo ; var AHandled: Boolean) of object;

property OnCustomDrawNavigationPaneSplitter: TdxNavBarCustomDrawEvent;

Description

This event is obsolete and used for compatibility purposes. Use the OnCustomDraw.NavigationPaneSplitter event instead.


TdxCustomNavBar.OnNavigationPaneCollapsed

TdxCustomNavBar See Also

Fires after the Navigation Pane has been collapsed.

type

TNotifyEvent = procedure(Sender: TObject) of object;

property OnNavigationPaneCollapsed: TNotifyEvent;

Description

Use the OptionsBehavior.NavigationPane.Collapsible property, to specify whether the Navigation Pane can be collapsed.

When the Navigation Pane is expanded, the OnNavigationPaneExpanded event is raised.


TdxCustomNavBar.OnNavigationPaneExpanded

TdxCustomNavBar See Also

Fires after the Navigation Pane has been expanded.

type

TNotifyEvent = procedure(Sender: TObject) of object;

property OnNavigationPaneExpanded: TNotifyEvent;

Description

Use the OptionsBehavior.NavigationPane.Collapsible property, to specify whether the Navigation Pane can be collapsed.

When the Navigation Pane is collapsed, the OnNavigationPaneCollapsed event is raised.


TdxCustomNavBar.OptionsBehavior

TdxCustomNavBar

Provides access to settings that determine the NavBar control’s response to end-user actions.

property OptionsBehavior: TdxNavBarBehaviorOptions;

Description

Refer to the TdxNavBarBehaviorOptions class description, to learn about available settings.


TdxCustomNavBar.OptionsImage

TdxCustomNavBar

Provides access to item and group image options defined with the current NavBar control.

property OptionsImage: TdxNavBarImageOptions;

Description

Refer to the TdxNavBarImageOptions class description, to learn about available options.


TdxCustomNavBar.OptionsStyle

TdxCustomNavBar

Provides access to a set of styles that control the appearance of the NavBar control’s elements.

property OptionsStyle: TdxNavBarStyleOptions;

Description

Refer to the TdxNavBarStyleOptions class description, to learn about styles available for customization.


TdxCustomNavBar.OptionsView

TdxCustomNavBar

Provides access to settings that determine appearance aspects of the NavBar control.

property OptionsView: TdxNavBarViewOptions;

Description

Refer to the TdxNavBarViewOptions class description, to learn about available options.


TdxCustomNavBar.SaveToIniFile

TdxCustomNavBar Concepts See Also

Saves the control layout within the INI file specified.

procedure SaveToIniFile(AFileName: string; SaveStyles: Boolean = True);

Description

Use the SaveToIniFile method to store the control’s settings to an INI file. The target file is specified by the AFileName parameter. If this file doesn’t exist, it is created. If it cannot be created (e.g. it is in use by another process or the name is set incorrectly), an exception is raised. The SaveStyles parameter specifies whether style settings are to be saved. It is optional and defaults to True.

You can restore the settings saved by the SaveToIniFile method by using the LoadFromIniFile method.

You can also save the control’s settings into a registry path or a stream. Please refer to the SaveToRegistry and SaveToStream methods description for details.


TdxCustomNavBar.SaveToRegistry

TdxCustomNavBar Concepts See Also

Saves the control layout to the specified registry path.

procedure SaveToRegistry(ARegistryPath: string; SaveStyles: Boolean = True);

Description

Use the SaveToRegistry method to save the control’s settings to the registry path specified by the ARegistryPath parameter. If the specified path is an empty string, the SaveToRegistry method does nothing. The SaveStyles parameter specifies whether to store style settings. It is optional and defaults to True.

The settings saved by the SaveToRegistry method can be restored using the LoadFromRegistry method.

You can also save the control’s settings to an INI file or to a stream. Please refer to the SaveToIniFile and SaveToStream method descriptions for details.


TdxCustomNavBar.SaveToStream

TdxCustomNavBar Concepts See Also

Saves the control layout to the stream specified.

procedure SaveToStream(AStream: TStream; SaveStyles: Boolean = True);

Description

Use the SaveToStream method to save the control’s settings to a stream. The target stream is specified by the AStream parameter and can be any TStream descendant. The SaveStyles parameter specifies whether style settings are saved. It is optional and defaults to True.

Use the LoadFromStream method to restore settings saved by the SaveToStream method. Note: after the SaveToStream method has been executed, AStream is positioned at the end of the stream. Thus, you must restore the initial stream’s Position property value before calling LoadFromStream. Otherwise, the saved settings will not be loaded.

You can also save the control’s settings to an INI file or to a registry path. Please refer to the SaveToIniFile and SaveToRegistry method descriptions for details.

Note: SaveToStream provides the same file output as the SaveToIniFile method.


TdxCustomNavBar.ShowNavigationPaneOverflowPanelHints

TdxCustomNavBar

Specifies whether to display hints for icons within the overflow panel.

property ShowNavigationPaneOverflowPanelHints: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsBehavior.NavigationPane.ShowLinksHint property instead.


TdxCustomNavBar.ShowSpecialGroup

TdxCustomNavBar

Specifies whether the active group’s header appearance can be customized via styles.

property ShowSpecialGroup: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsView.ExplorerBar.ShowSpecialGroup property instead.

The default value of the ShowSpecialGroup property is False.


TdxCustomNavBar.StyleNavigationPaneHeader

TdxCustomNavBar

Specifies a custom style applied to the header section and splitter in Navigation Pane Views.

property StyleNavigationPaneHeader: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the OptionsStyle.CustomStyles.NavigationPaneHeader property instead.


TdxCustomNavBar.ViewInfo

TdxCustomNavBar Concepts

Provides access to the View information of the entire NavBar control.

property ViewInfo: TdxNavBarViewInfo;

Description

The View information is useful when custom painting NavBar elements. Refer to the TdxNavBarViewInfo class description, to learn about this information.

ReadOnly Property


TdxCustomNavBar.ViewStyle

TdxCustomNavBar Concepts

Provides access to a painter that is used for the currently applied View.

property ViewStyle: TdxNavBarPainter;

Description

To access painter settings that are specific to the currently applied View, cast this property to a corresponding painter class.

The following code example demonstrates how to assign the SkinName property when the SkinNavigationPaneView is applied to the NavBar control.

// Delphi

uses

..., dxSkinsdxNavBar2Painter;

// ...

TdxNavBarSkinNavPanePainter(dxNavBar1.ViewStyle).SkinName := 'Caramel';

Refer to the View property description to learn about available painter classes.


TdxCustomNavBar.VisibleGroupCount

TdxCustomNavBar

Gets the number of groups that are visible in the current NavBar control.

property VisibleGroupCount: Integer;

ReadOnly Property


TdxNavBar.TabStop

TdxNavBar

Determines whether end-users can tab to a NavBar control and navigate its elements using the keyboard.

property TabStop: Boolean;

Description

Set this property to True to allow end-users to:

  • Focus the current NavBar control using the Tab key.

  • Move through groups, items, and an overflow panel’s elements using the arrow keys.

If the TabStop property is set to False, the NavBar control and its elements can only be focused using the mouse.

The default value of the TabStop property is False.


TdxNavBarCustomDrawGroupEvent

TdxNavBarCustomDrawGroupEvent type

Specifies the type of events that are invoked due to custom drawing of either the NavBar group caption, group client background or group client foreground.

Unit

dxNavBar

type

TdxNavBarCustomDrawGroupEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarGroupViewInfo; var AHandled: Boolean) of object;

Description

The TdxNavBarCustomDrawGroupEvent type is used by the OnCustomDraw.GroupCaption, OnCustomDraw.GroupClientBackground and OnCustomDraw.GroupClientForeground events.

The Sender parameter specifies the sender of the event.

The ACanvas parameter specifies an object of the TCanvas type which represents the drawing surface.

The AViewInfo parameter specifies an object of the TdxNavBarGroupViewInfo type which represents View information of the NavBar group.

The AHandled parameter specifies whether the default processing of the corresponding events should be suppressed. If the parameter is set to True the default processing does not occur; otherwise the default processing occurs after the one the developer implemented.


TdxNavBarGroupEvent

TdxNavBarGroupEvent type

Specifies the type of events that are invoked due to changing the state of the NavBar group.

Unit

dxNavBar

TdxNavBarGroupEvent = procedure(Sender: TObject; AGroup: TdxNavBarGroup) of object;

Description

The TdxNavBarGroupEvent type is used by the OnGroupClick, OnGroupHotTrack and OnGroupPress events.

The Sender parameter specifies the sender of the event. The AGroup parameter specifies the NavBar group related to the event.


TdxNavBarLinkEvent

TdxNavBarLinkEvent type

Specifies the type of events that are invoked due to changing the state of a NavBar link.

Unit

dxNavBar

TdxNavBarLinkEvent = procedure(Sender: TObject; ALink: TdxNavBarItemLink) of object;

Description

The TdxNavBarGroupEvent type is used by the OnLinkClick, OnLinkHotTrack and OnLinkPress events.

The Sender parameter specifies the sender of the event. The ALink parameter specifies the NavBar link related to the event.


TdxNavBarObjectState

TdxNavBarObjectState type

The type specifies a set of available states of a NavBar element.

Unit

dxNavBar

TdxNavBarObjectState = (sActive, sDisabled, sExpanded, sHotTracked, sPressed, sSelected, sSpecial, sFocused);

Description

Values listed by the TdxNavBarObjectState enumeration are used by the following properties:

  • The State property of the TdxNavBarGroupViewInfo class;

  • The State property of the TdxNavBarLinkViewInfo class;

  • The BottomScrollButtonState and TopScrollButtonState properties of the TdxNavBarViewInfo class.

The table below describes values provided by the TdxNavBarObjectState enumeration.

Value

Description

sActive

A particular NavBar element is active. Relates to groups in Side Bar Views only.

sDisabled

A particular NavBar element is disabled. Relates to links only.

sExpanded

A particular NavBar element is expanded. Relates to groups only.

sHotTracked

A particular NavBar element is hot-tracked. Mouse pointer is over the element.

sPressed

A particular NavBar element is pressed. The end-user has pressed the element by mouse without releasing the pressed mouse button.

sSelected

A particular NavBar element is selected. Relates to links in Side Bar Views only.

sSpecial

A particular NavBar element is active. Relates to groups in Explorer Bar Views only.

sFocused

A particular NavBar element is focused. An element can be focused if the NavBar control’s TabStop property is set to True.


Notification_ALink

Note

The requested topic cannot be found. This may be due to using the Developer Express help system standalone. Make sure to run it from the Delphi help system.


Events for TdxCustomNavBar

TdxCustomNavBar Events

TdxCustomNavBar Legend

In TdxCustomNavBar

OnActiveGroupChanged

OnActiveGroupChanging

OnCalcGroupClientHeight

OnCalcGroupHintRect

OnCalcLinkHintRect

OnCalcNavigationPaneOverflowPanelHintRect

OnCustomDraw

OnCustomDrawBackground

OnCustomDrawBottomScrollButton

OnCustomDrawGroupCaption

OnCustomDrawGroupClientBackground

OnCustomDrawGroupClientForeground

OnCustomDrawGroupHint

OnCustomDrawLink

OnCustomDrawLinkHint

OnCustomDrawNavigationPaneHeader

OnCustomDrawNavigationPaneOverflowPanel

OnCustomDrawNavigationPaneOverflowPanelHint

OnCustomDrawNavigationPaneSplitter

OnCustomDrawTopScrollButton

OnGetGroupHint

OnGetLinkHint

OnGroupClick

OnGroupHotTrack

OnGroupPress

OnLinkClick

OnLinkHotTrack

OnLinkPress

OnNavigationPaneCollapsed

OnNavigationPaneExpanded

Derived from TcxControl

OnMouseEnter

OnMouseLeave

Derived from TControl

OnContextPopup

OnMouseDown

OnMouseMove

OnMouseUp


Events for TdxNavBar

TdxNavBar Events

TdxNavBar Legend

Derived from TdxCustomNavBar

OnActiveGroupChanged

OnActiveGroupChanging

OnCalcGroupClientHeight

OnCalcGroupHintRect

OnCalcLinkHintRect

OnCalcNavigationPaneOverflowPanelHintRect

OnCustomDraw

OnCustomDrawBackground

OnCustomDrawBottomScrollButton

OnCustomDrawGroupCaption

OnCustomDrawGroupClientBackground

OnCustomDrawGroupClientForeground

OnCustomDrawGroupHint

OnCustomDrawLink

OnCustomDrawLinkHint

OnCustomDrawNavigationPaneHeader

OnCustomDrawNavigationPaneOverflowPanel

OnCustomDrawNavigationPaneOverflowPanelHint

OnCustomDrawNavigationPaneSplitter

OnCustomDrawTopScrollButton

OnGetGroupHint

OnGetLinkHint

OnGroupClick

OnGroupHotTrack

OnGroupPress

OnLinkClick

OnLinkHotTrack

OnLinkPress

OnNavigationPaneCollapsed

OnNavigationPaneExpanded

Derived from TcxControl

OnMouseEnter

OnMouseLeave

Derived from TControl

OnContextPopup

OnMouseDown

OnMouseMove

OnMouseUp


Methods for TdxCustomNavBar

TdxCustomNavBar Methods

TdxCustomNavBar Legend

In TdxCustomNavBar

AssignDefaultStyles

BeginUpdate

Create

Destroy

EndUpdate

GetGroupAtCaptionPos

GetGroupAtItemsPos

GetLinkAtPos

GetLinkAtSelectedPos

IsPtBottomScrollButton

IsPtTopScrollButton

LoadFromIniFile

LoadFromRegistry

LoadFromStream

MakeGroupVisible

MakeLinkVisible

SaveToIniFile

SaveToRegistry

SaveToStream

Derived from TcxControl

Create

Destroy

InvalidateRect


Methods for TdxNavBar

TdxNavBar Methods

TdxNavBar Legend

Derived from TdxCustomNavBar

AssignDefaultStyles

Create

Destroy

GetGroupAtCaptionPos

GetGroupAtItemsPos

GetLinkAtPos

GetLinkAtSelectedPos

IsPtBottomScrollButton

IsPtTopScrollButton

LoadFromIniFile

LoadFromRegistry

LoadFromStream

SaveToIniFile

SaveToRegistry

SaveToStream

Derived from TcxControl

Create

Destroy

InvalidateRect


Properties for TdxCustomNavBar

TdxCustomNavBar Properties

TdxCustomNavBar Legend

In TdxCustomNavBar

ActiveGroup

ActiveGroupIndex

AllowSelectLinks

BorderStyle

Cursors

DefaultStyles

DragCopyCursor

DragCursor

DragDropFlags

EachGroupHasSelectedLink

EnableDragging

Groups

HotTrackedGroupCursor

HotTrackedLink

HotTrackedLinkCursor

Items

LargeImages

NavigationPaneMaxVisibleGroups

NavigationPaneOverflowPanelItemCount

NavigationPaneOverflowPanelUseSmallImages

OptionsBehavior

OptionsImage

OptionsStyle

OptionsView

Painter

PressedGroup

PressedLink

ScrollPosition

ShowGroupCaptions

ShowGroupsHint

ShowLinksHint

ShowNavigationPaneOverflowPanelHints

ShowSpecialGroup

SmallImages

SourceGroup

SourceItem

SourceLink

SourcePoint

SpaceBetweenGroups

StyleBackground

StyleButton

StyleButtonHotTracked

StyleButtonPressed

StyleDropTargetGroup

StyleDropTargetLink

StyleHint

StyleNavigationPaneHeader

Styles

TargetGroup

TargetLink1

TargetLink2

TargetLinkIndex

TargetPoint

View

ViewInfo

ViewStyle

VisibleGroupCount

Derived from TcxControl

BorderStyle

Bounds

Canvas

ClientBounds

FocusOnClick

IsDesigning

IsDestroying

IsFocused

IsLoading

LookAndFeel

PopupMenu

Derived from TWinControl

TabOrder


Properties for TdxNavBar

TdxNavBar Properties

TdxNavBar Legend

In TdxNavBar

TabStop

Derived from TdxCustomNavBar

ActiveGroup

ActiveGroupIndex

AllowSelectLinks

BorderStyle

Cursors

DefaultStyles

DragCopyCursor

DragCursor

DragDropFlags

EachGroupHasSelectedLink

EnableDragging

Groups

HotTrackedGroupCursor

HotTrackedLink

HotTrackedLinkCursor

Items

LargeImages

NavigationPaneMaxVisibleGroups

NavigationPaneOverflowPanelItemCount

NavigationPaneOverflowPanelUseSmallImages

OptionsBehavior

OptionsImage

OptionsStyle

OptionsView

Painter

PressedGroup

PressedLink

ScrollPosition

ShowGroupCaptions

ShowGroupsHint

ShowLinksHint

ShowNavigationPaneOverflowPanelHints

SmallImages

SourceGroup

SourceItem

SourceLink

SourcePoint

SpaceBetweenGroups

StyleBackground

StyleButton

StyleButtonHotTracked

StyleButtonPressed

StyleDropTargetGroup

StyleDropTargetLink

StyleHint

StyleNavigationPaneHeader

Styles

TargetGroup

TargetLink1

TargetLink2

TargetLinkIndex

TargetPoint

View

ViewInfo

ViewStyle

VisibleGroupCount

Derived from TcxControl

BorderStyle

Bounds

Canvas

ClientBounds

FocusOnClick

IsDesigning

IsDestroying

IsFocused

IsLoading

LookAndFeel

PopupMenu

Derived from TWinControl

TabOrder

Derived from TControl

Cursor


TdxCustomNavBar Hierarchy

Hierarchy

TCustomControl

|

TcxControl

|

TdxCustomNavBar


TdxNavBar Hierarchy

Hierarchy

TCustomControl

|

TcxControl

|

TdxCustomNavBar

|

TdxNavBar


TdxNavBarBehaviorOptions

TdxNavBarBehaviorOptions Object

Hierarchy Properties

Represents a set of options, which determine how NavBar controls respond to end-user actions.

Unit

dxNavBar

TdxNavBarBehaviorOptions = class(TdxNavBarPersistent)

Description

Options in this set are grouped by corresponding View types (SideBar and NavigationPane). Options that are common to all View types can be accessed via the Common property.

The TdxNavBarBehaviorOptions object is referenced by the NavBar control’s OptionsBehavior property.


TdxNavBarCommonBehaviorOptions

TdxNavBarCommonBehaviorOptions Object

Hierarchy Properties

Represents a set of behavior options that are common to all View types.

Unit

dxNavBar

TdxNavBarCommonBehaviorOptions = class(TdxNavBarPersistent)

Description

Options include:

  • DragDropFlags – specifies which elements can be dragged and/or dropped;

  • ShowGroupsHint and ShowLinksHint – specify whether hints are displayed for groups and links.

The TdxNavBarCommonBehaviorOptions object is referenced by the NavBar control’s OptionsBehavior.Common property.


TdxNavBarCommonViewOptions

TdxNavBarCommonViewOptions Object

Hierarchy Properties

Represents a set of appearance options that are common to all View types.

Unit

dxNavBar

TdxNavBarCommonViewOptions = class(TdxNavBarPersistent)

Description

This class introduces the ShowGroupCaptions property that controls the visibility of group headers.

The TdxNavBarCommonViewOptions object is referenced by the NavBar control’s OptionsView.Common property.


TdxNavBarCursors

TdxNavBarCursors Object

Hierarchy Properties

Represents a set of mouse pointer images, which are displayed over a NavBar control and its elements.

Unit

dxNavBar

TdxNavBarCursors = class(TdxNavBarPersistent)

Description

Properties in this class allows you to specify mouse pointer images for the following NavBar elements:

  • The NavBar control when none of its elements are hot-tracked (Cursor).

  • Links and group headers during drag and drop operations (DragCursor and DragCopyCursor).

  • Hot-tracked links and group headers (HotTrackedLinkCursor and HotTrackedGroupCursor).

Each property value represents a mouse pointer index within the list of built-in and custom mouse pointers maintained by the Screen global variable (see the TCursor type description for details).

The TdxNavBarCursors object is referenced by the NavBar control’s Cursors property.


TdxNavBarCustomDrawEvents

TdxNavBarCustomDraw Object

Hierarchy Events Concepts

Provides a collection of events which enable you to custom paint NavBar elements.

Unit

dxNavBar

TdxNavBarCustomDrawEvents = class(TdxNavBarPersistent)

Description

The following elements can be custom painted using these events:

  • The control’s background (Background)

  • Groups (GroupCaption, GroupClientBackground, and GroupClientForeground)

  • Links (Link)

  • Navigation Pane (NavigationPaneHeader, NavigationPaneSplitter, NavigationPaneOverflowPanel, and NavigationPaneOverflowPanelHint)

  • Scroll buttons (BottomScrollButton and TopScrollButton)

  • Link and group hints (GroupHint and LinkHint)

The TdxNavBarCustomDrawEvents object is referenced by the NavBar control’s OnCustomDraw property.


TdxNavBarExplorerBarViewOptions

TdxNavBarExplorerBarViewOptions Object

Hierarchy Properties

Represents a set of appearance options of Explorer Bar Views.

Unit

dxNavBar

TdxNavBarExplorerBarViewOptions = class(TdxNavBarPersistent)

Description

Options include:

  • ShowSpecialGroup – specifies whether active groups use their header styles;

  • SpaceBetweenGroups – specifies the distance (in pixels) between groups.

The TdxNavBarExplorerBarViewOptions object is referenced by the NavBar control’s OptionsView.ExplorerBar property.


TdxNavBarGroupControlOptions

TdxNavBarGroupControlOptions Object

Hierarchy Properties

Represents a set of appearance and behavior options of a group’s client area.

Unit

dxNavBar

TdxNavBarGroupControlOptions = class(TcxOwnedPersistent)

Description

Options include:

  • UseControl – specifies whether custom controls can be embedded into the group’s client area;

  • ShowControl – specifies whether the group’s client area displays links or embedded controls;

  • AllowControlResizing – specifies whether end-users can adjust the height of the group with embedded controls.

The TdxNavBarGroupControlOptions object is referenced by a group’s OptionsGroupControl property.


TdxNavBarGroupExpansionOptions

TdxNavBarGroupExpansionOptions Object

Hierarchy Properties Concepts

Represents group expansion options.

Unit

dxNavBar

TdxNavBarGroupExpansionOptions = class(TcxOwnedPersistent)

Description

Options include:

  • Expandable – specifies whether a group can be expanded;

  • Expanded – specifies whether a group is expanded;

  • ShowExpandButton – changes the visibility of a group header sign (expand button).

The TdxNavBarGroupExpansionOptions object is referenced by a group’s OptionsExpansion property.


TdxNavBarImageOptions

TdxNavBarImageOptions Object

Hierarchy Properties

Represents item and group image options.

Unit

dxNavBar

TdxNavBarImageOptions = class(TcxOwnedPersistent)

Description

Options include:

  • LargeImages and SmallImages – specify the image lists whose images can be displayed by items and groups in the normal state;

  • DisabledLargeImages and DisabledSmallImages – specify the image lists whose images can be displayed by disabled items;

  • HotLargeImages and HotSmallImages – specify the image lists whose images can be displayed by hot-tracked items and groups.

The TdxBarImageOptions object is referenced by the NavBar control’s OptionsImage property.


TdxNavBarNavigationPaneBehaviorOptions

TdxNavBarNavigationPaneBehaviorOptions Object

Hierarchy Properties

Represents a set of options which determine how Navigation Pane Views respond to end-user actions.

Unit

dxNavBar

TdxNavBarNavigationPaneBehaviorOptions = class(TdxNavBarPersistent)

Description

Options include:

  • AdjustWidthByPopup – specifies whether end-users can adjust the NavBar control’s width by horizontally sizing the collapsed Navigation Pane’s popup window;

  • Collapsible and Collapsed – control the expansion state of the Navigation Pane;

  • ShowOverflowPanelHints – specifies whether hints are displayed for overflow panel elements;

  • AllowCustomizing – enables end-user group customization from the context menu.

The TdxNavBarNavigationPaneBehaviorOptions object is referenced by the NavBar control’s OptionsBehavior.NavigationPane property.


TdxNavBarNavigationPaneViewOptions

TdxNavBarNavigationPaneViewOptions Object

Hierarchy Properties

Represents a set of appearance options of Navigation Pane Views.

Unit

dxNavBar

TdxNavBarNavigationPaneViewOptions = class(TdxNavBarPersistent)

Description

Options in this set allow you to specify the following View appearance aspects:

  • Maximum number of visible group headers (MaxVisibleGroups);

  • Visibility of the header section and the overflow panel (ShowHeader and ShowOverflowPanel);

  • Size of group images displayed in the overflow panel (OverflowPanelUseSmallImages).

The TdxNavBarNavigationPaneViewOptions object is referenced by the NavBar control’s OptionsView.NavigationPane property.


TdxNavBarPersistent

TdxNavBarPersistent Object

Hierarchy Properties

The TdxNavBarPersistent class provides streaming functionality for objects owned by the TdxNavBar control.

Unit

dxNavBar

TdxNavBarPersistent = class( TPersistent )

Description

This class introduces the NavBar property that allows you to access the owner NavBar control.

TdxNavBarPersistent descendants are mostly classes that represent NavBar option sets.


TdxNavBarSideBarBehaviorOptions

TdxNavBarSideBarBehaviorOptions Object

Hierarchy Properties

Represents a set of options which determine how Side Bar Views respond to end-user actions.

Unit

dxNavBar

TdxNavBarSideBarBehaviorOptions = class(TdxNavBarPersistent)

Description

Options include:

  • AllowSelectLinks – specifies whether end-users can select links;

  • EachGroupHasSelectedLink – allows you to persist link selection within groups.

The TdxNavBarSideBarBehaviorOptions object is referenced by the NavBar control’s OptionsBehavior.SideBar property.


TdxNavBarViewOptions

TdxNavBarViewOptions Object

Hierarchy Properties

Represents a set of options which determine appearance aspects of NavBar controls.

Unit

dxNavBar

TdxNavBarViewOptions = class(TdxNavBarPersistent)

Description

Options in this set are grouped by corresponding View types (ExplorerBar and NavigationPane). Options that are common to all View types can be accessed via the Common property.

The TdxNavBarViewOptions object is referenced by the NavBar control’s OptionsView property.


TdxNavBarBehaviorOptions.Common

TdxNavBarBehaviorOptions

Provides access to behavior options that are common to all View types.

property Common: TdxNavBarCommonBehaviorOptions;

Description

Refer to the TdxNavBarCommonBehaviorOptions class description, to learn about available settings.


TdxNavBarBehaviorOptions.NavigationPane

TdxNavBarBehaviorOptions

Provides access to options which determine how Navigation Pane Views respond to end-user actions.

property NavigationPane: TdxNavBarNavigationPaneBehaviorOptions;

Description

Refer to the TdxNavBarNavigationPaneBehaviorOptions class description, to learn about available settings.


TdxNavBarBehaviorOptions.SideBar

TdxNavBarBehaviorOptions

Provides access to options which determine how Side Bar Views respond to end-user actions.

property SideBar: TdxNavBarSideBarBehaviorOptions;

Description

Refer to the TdxNavBarSideBarBehaviorOptions class description, to learn about available settings.


TdxNavBarCommonBehaviorOptions.DragDropFlags

TdxNavBarCommonBehaviorOptions

Specifies the behavior of the NavBar control related to drag & drop operations.

type

TdxNavBarDragDropFlag = (fAllowDragLink, fAllowDropLink, fAllowDragGroup, fAllowDropGroup);

TdxNavBarDragDropFlags = set of TdxNavBarDragDropFlag;

property DragDropFlags: TdxNavBarDragDropFlags;

Description

Use this property to specify what elements in the NavBar control can be dragged and/or dropped. The property represents a set that can be constructed of values listed below.

Value | Description
fAllowDragLink | Indicates that NavBar links can be dragged.
fAllowDropLink | Indicates that NavBar links can be dropped.
fAllowDragGroup | Indicates that NavBar groups can be dragged.
fAllowDropGroup | Indicates that NavBar groups can be dropped.

For more information regarding the drag & drop functionality of the NavBar control, please refer to the Internal and External Drag & Drop Operations help topic.

The default value of the DragDropFlags property is specified by the dxNavBarDefaultDragDropFlags global constant.


TdxNavBarCommonBehaviorOptions.ShowGroupsHint

TdxNavBarCommonBehaviorOptions

Specifies whether hints are shown for groups.

property ShowGroupsHint: Boolean;

Description

Set this property to True to enable group hints.

To specify the hint text of a particular group, use the group’s Hint property.

The default value of the ShowGroupsHint property is False.


TdxNavBarCommonBehaviorOptions.ShowLinksHint

TdxNavBarCommonBehaviorOptions

Specifies whether hints are shown for links.

property ShowLinksHint: Boolean;

Description

Set this property to True to enable link hints.

To specify the hint text for links of a particular item, use the item’s Hint property.

The default value of the ShowLinksHint property is False.


TdxNavBarCommonViewOptions.ShowGroupCaptions

TdxNavBarCommonViewOptions

Specifies whether group headers are visible.

property ShowGroupCaptions: Boolean;

Description

All the possible values are listed in the following table.

Value | Description | Example
True | Group headers are displayed. |
False | Group headers are hidden. |

Note that if group headers are hidden, groups can only be expanded or collapsed programmatically.

The default value of the ShowGroupCaptions property is True.


TdxNavBarCursors.Cursor

TdxNavBarCursors

Specifies the mouse pointer displayed over the NavBar control when none of its elements are hot-tracked.

property Cursor: TCursor;

Description

Use the HotTrackedGroupCursor and HotTrackedLinkCursor properties to specify the mouse pointer displayed over hot-tracked group headers and links.

The default value of the Cursor property is crDefault.


TdxNavBarCursors.DragCopyCursor

TdxNavBarCursors Concepts See Also

Specifies the mouse pointer displayed when dragging a link while holding down the CTRL key.

property DragCopyCursor: TCursor;

Description

The NavBar control allows end-users to perform drag & drop operations on groups, and links to change the order of groups and links, move links between groups and copy links.

To create a copy of a link, end-users must hold the CTRL key down while dragging. Use the DragCopyCursor property to specify the mouse pointer displayed during this operation. To specify the mouse pointer displayed during ordinary drag & drop operations, use the DragCursor property.

The default value of the DragCopyCursor property is specified by the dxNavBarDragCopyCursor global constant.


TdxNavBarCursors.DragCursor

TdxNavBarCursors Concepts See Also

Specifies the mouse pointer displayed when dragging a link or group.

property DragCursor: TCursor;

Description

The NavBar control allows end-users to perform drag & drop operations on groups, and links to change their order, move links between groups and copy links.

Use the DragCursor property to specify the mouse cursor displayed during ordinary drag & drop operations. To specify the mouse pointer displayed when copying links, use the DragCopyCursor property.

The default value of the DragCursor property is specified by the dxNavBarDragCursor global constant.


TdxNavBarCursors.HotTrackedGroupCursor

TdxNavBarCursors See Also

Specifies the mouse pointer displayed over hot-tracked group headers.

property HotTrackedGroupCursor: TCursor;

Description

The image below shows the mouse pointer when the HotTrackedGroupCursor property is set to crHandPoint value.

The default value of the HotTrackedGroupCursor property is crDefault.


TdxNavBarCursors.HotTrackedLinkCursor

TdxNavBarCursors See Also

Specifies the mouse pointer displayed over hot-tracked NavBar links.

property HotTrackedLinkCursor: TCursor;

Description

The image below shows the mouse pointer when a link is hot-tracked.

The default value of the HotTrackedLinkCursor property is specified by the dxNavBarLinksCursor global constant.


TdxNavBarCustomDrawEvents.Background

TdxNavBarCustomDrawEvents Concepts Example

Allows you to custom paint the NavBar control’s background.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarViewInfo; var AHandled: Boolean) of object;

property Background: TdxNavBarCustomDrawEvent;

Description

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ACanvas parameter specifies an object of the TCanvas type which provides a NavBar control’s background drawing surface.

The AViewInfo parameter specifies an object of the TdxNavBarViewInfo type which represents View information of the NavBar control. To get the bounding rectangle of the control’s background, you can use the ClientRect property.

The AHandled parameter specifies whether further background painting is needed. Set the parameter to True to avoid default background painting; set it to False to enable the default painting routines.


TdxNavBarCustomDrawEvents.BottomScrollButton

TdxNavBarCustomDrawEvents Concepts

Enables you to paint bottom scroll buttons in a custom manner.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarViewInfo; var AHandled: Boolean) of object;

property TopScrollButton: TdxNavBarCustomDrawEvent;

Description

The Sender parameter represents the event source (the NavBar control).

The ACanvas parameter provides the painting surface.

The bounding rectangle and the current state of the scroll button can be obtained via the AViewInfo parameter. You must use the BottomScrollButtonRect and BottomScrollButtonState properties of the obtained TdxNavBarViewInfo object for this purpose.

The AHandled parameter value specifies whether default painting is required. If you have painted the button in the event handler, set this parameter to True. Otherwise, the button will be painted in default way, specified by the View applied.


TdxNavBarCustomDrawEvents.GroupCaption

TdxNavBarCustomDrawEvents Concepts Example

Allows you to custom paint NavBar group headers.

type

TdxNavBarCustomDrawGroupEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarGroupViewInfo; var AHandled: Boolean) of object;

property GroupCaption: TdxNavBarCustomDrawGroupEvent;

Description

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ACanvas parameter specifies an object of the TCanvas type which provides access to the drawing space of the NavBar group caption.

The AViewInfo parameter specifies an object of the TdxNavBarViewInfo type which represents View information of the NavBar control. Use the Group property provided by the parameter to determine which NavBar group's caption is currently being drawn.

The AHandled parameter specifies whether further group caption painting is needed. Set the parameter to True to disable the default paining routines; set it to False to perform the default painting routines after the custom painting.


TdxNavBarCustomDrawEvents.GroupClientBackground

TdxNavBarCustomDrawEvents Concepts

Allows you to custom paint a group’s client background area.

type

TdxNavBarCustomDrawGroupEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarGroupViewInfo; var AHandled: Boolean) of object;

property GroupClientBackground: TdxNavBarCustomDrawGroupEvent;

Description

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ACanvas parameter specifies an object of the TCanvas type which provides access to the drawing surface of the NavBar group client background.

The AViewInfo parameter specifies an object of the TdxNavBarGroupViewInfo type which represents View information of the NavBar group. Use the Group property provided by the parameter to determine which NavBar group’s background is currently being drawn.

The AHandled parameter specifies whether further group client background painting is needed. Set the parameter to True to disable the default paining routines; set it to False to perform the default painting routines after the custom painting.


TdxNavBarCustomDrawEvents.GroupClientForeground

TdxNavBarCustomDrawEvents Concepts

Allows you to custom paint a group’s client foreground area.

type

TdxNavBarCustomDrawGroupEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarGroupViewInfo; var AHandled: Boolean) of object;

property GroupClientForeground: TdxNavBarCustomDrawGroupEvent;

Description

Handle this event to perform custom painting of the NavBar group client foreground. This event can be used to paint any custom data within a group. It is used together with the OnCalcGroupClientHeight event that specifies the height of the group.

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ACanvas parameter specifies an object of the TCanvas type which provides a access to the drawing space of the NavBar group client foreground.

The AViewInfo parameter specifies an object of the TdxNavBarGroupViewInfo type which represents View information of the NavBar group. Use the Group property provided by the parameter to determine which NavBar group’s client foreground is currently being drawn.

The AHandled parameter specifies whether further group client foreground painting is needed. Set the parameter to True to disable the default paining routines; set it to False to perform the default painting routines after the custom painting.


TdxNavBarCustomDrawEvents.GroupHint

TdxNavBarCustomDrawEvents Concepts Example

Allows you to custom paint group hints.

type

TdxNavBarCustomDrawGroupHintEvent = procedure(Sender: TObject; ACanvas: TCanvas; AGroup: TdxNavBarGroup; AHint: string; R: TRect; var AHandled: Boolean) of object;

property GroupHint: TdxNavBarCustomDrawGroupHintEvent;

Description

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ACanvas parameter specifies an object of the TCanvas type which provides a access to the drawing space of the NavBar group hint.

The AGroup parameter specifies an object of the TdxNavBarGroup type which represents the NavBar group whose hint needs repainting.

The AHint parameter specifies text content of the group hint.

The R parameter specifies an object of the TRect type which represents rectangular dimensions of the NavBar group hint. The parameter’s initial values are calculated by the control itself, but you can change them.

The AHandled parameter specifies whether further group hint painting is needed. Set the parameter to True to disable the default paining routines; set it to False to perform the default painting routines after the custom painting.


TdxNavBarCustomDrawEvents.Link

TdxNavBarCustomDrawEvents Concepts Example

Allows you to custom paint NavBar links.

type

TdxNavBarCustomDrawLinkEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarLinkViewInfo; var AHandled: Boolean) of object;

property Link: TdxNavBarCustomDrawLinkEvent;

Description

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ACanvas parameter specifies an object of the TCanvas type which provides a access to the drawing space of the NavBar link.

The AViewInfo parameter specifies an object of the TdxNavBarLinkViewInfo type which represents View information of the NavBar link. Use the Link property provided by the parameter to determine which NavBar link is currently being drawn.

The AHandled parameter specifies whether further link painting is needed. Set the parameter to True to disable the default paining routines; set it to False to perform the default painting routines after the custom painting.


TdxNavBarCustomDrawEvents.LinkHint

TdxNavBarCustomDrawEvents Concepts

Allows you to custom paint link hints.

type

TdxNavBarCustomDrawLinkHintEvent = procedure(Sender: TObject; ACanvas: TCanvas; ALink: TdxNavBarItemLink; AHint: string; R: TRect; var AHandled: Boolean) of object;

property LinkHint: TdxNavBarCustomDrawLinkHintEvent;

Description

The Sender parameter specifies the sender of the event. The sender of the event is the NavBar control.

The ACanvas parameter specifies an object of the TCanvas type which provides access to the drawing space of the NavBar link hint.

The ALink parameter specifies an object of the TdxNavBarItemLink type which represents the NavBar link whose hint needs repainting.

The AHint parameter specifies text content of the link hint.

The R parameter specifies an object of the TRect type which represents rectangular dimensions of the NavBar link hint. The parameter's initial values are calculated by the control itself, but you can change them.

The AHandled parameter specifies whether further link hint painting is needed. Set the parameter to True to disable the default paining routines; set it to False to perform the default painting routines after the custom painting.


TdxNavBarCustomDrawEvents.NavigationPaneHeader

TdxNavBarCustomDrawEvents Concepts

Enables you to custom paint the navigation pane’s header section.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject ; ACanvas: TCanvas ; AViewInfo: TdxNavBarViewInfo ; var AHandled: Boolean) of object;

property NavigationPaneHeader: TdxNavBarCustomDrawEvent;

Description

The Sender parameter identifies the NavBar control whose header is to be painted.

The ACanvas parameter represents the painting surface.

The control’s View information is passed as the AViewInfo parameter which is actually of the TdxNavBarOffice11NavPaneViewInfo type. You can use this object’s HeaderRect property to obtain the rectangle in which to paint.

You should set the AHandled parameter to True to prohibit default painting after the event handler's execution. Otherwise, the control will paint the header section using the default painting mechanism.


TdxNavBarCustomDrawEvents.NavigationPaneOverflowPanel

TdxNavBarCustomDrawEvents Concepts

Enables you to custom paint the navigation pane’s overflow panel.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject ; ACanvas: TCanvas ; AViewInfo: TdxNavBarViewInfo ; var AHandled: Boolean) of object;

property NavigationPaneOverflowPanel: TdxNavBarCustomDrawEvent;

Description

The Sender parameter identifies the NavBar control whose panel is to be painted.

The ACanvas parameter represents the painting surface.

The control’s View information is passed as the AViewInfo parameter which is actually of the TdxNavBarOffice11NavPaneViewInfo type. This object provides the following properties which are useful when custom painting.

Property | Meaning
OverflowPanelRect | Returns the overflow panel’s bounding rectangle.
OverflowPanelItemCount | Returns the number of icons within the overflow panel.
OverflowPanelItemGroups | Enables you to obtain the groups corresponding to the overflow panel’s icons.
OverflowPanelItemRects | Enables you to obtain bounding rectangles for individual icons.
OverflowPanelItemSelectionRects | Enables you to obtain selection rectangles for individual icons.
OverflowPanelSignRect | Returns the bounding rectangle for the sign that invokes the built-in context menu.

Additionally, you can access the HotPart and PressedPart properties of the TdxNavBar.Controller property to determine which elements are currently pressed or hot-tracked.

You should set the AHandled parameter to True to prohibit default painting after the event handler's execution. Otherwise, the control will paint the overflow panel using the default painting mechanism.


TdxNavBarCustomDrawEvents.NavigationPaneOverflowPanelHint

TdxNavBarCustomDrawEvents Concepts

Enables you to custom paint the hints displayed for the overflow panel's icons.

type

TdxNavBarCustomDrawGroupHintEvent = procedure(Sender: TObject ; ACanvas: TCanvas ; AGroup: TdxNavBarGroup ; AHint: string; R: TRect ; var AHandled: Boolean) of object;

property NavigationPaneOverflowPanelHint: TdxNavBarCustomDrawGroupHintEvent;

Description

This Sender parameter identifies the NavBar control whose hint is to be painted.

The ACanvas parameter provides the painting surface. The group whose corresponding icon is currently hot-tracked is passed as the AGroup parameter. The default hint string is passed as the AHint parameter.

The hint’s bounding rectangle is passed as the R parameter. By default, this rectangle is automatically calculated to fit the hint string, which is the corresponding group’s caption. You can also specify hint rectangles manually by handling the OnCalcNavigationPaneOverflowPanelHintRect event.

You should set the AHandled parameter to True to prohibit default painting after the event handler's execution. Otherwise, the control will paint the hint using the default painting mechanism.

Note: hints for the overflow panel’s icons are enabled provided that the OptionsBehavior.NavigationPane.ShowOverflowPanelHints property value is True.


TdxNavBarCustomDrawEvents.NavigationPaneSplitter

TdxNavBarCustomDrawEvents Concepts

Enables you to custom paint the navigation pane’s splitter.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject ; ACanvas: TCanvas ; AViewInfo: TdxNavBarViewInfo ; var AHandled: Boolean) of object;

property NavigationPaneSplitter: TdxNavBarCustomDrawEvent;

Description

The Sender parameter identifies the NavBar control whose header is to be painted.

The ACanvas parameter represents the painting surface.

The control’s View information is passed as the AViewInfo parameter which is actually of the TdxNavBarOffice11NavPaneViewInfo type. You can use this object’s SplitterRect property to obtain the rectangle in which to paint.

You should set the AHandled parameter to True to prohibit default painting after the event handler's execution. Otherwise, the control will paint the header section using the default painting mechanism.


TdxNavBarCustomDrawEvents.TopScrollButton

TdxNavBarCustomDrawEvents Concepts

Enables you to paint top scroll buttons in a custom manner.

type

TdxNavBarCustomDrawEvent = procedure(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarViewInfo; var AHandled: Boolean) of object;

property TopScrollButton: TdxNavBarCustomDrawEvent;

Description

The Sender parameter represents the event source (the NavBar control).

The ACanvas parameter provides the painting surface.

The bounding rectangle and the current state of the scroll button can be obtained via the AViewInfo parameter. You must use the TopScrollButtonRect and TopScrollButtonState properties of the obtained TdxNavBarViewInfo object for this purpose.

The AHandled parameter value specifies whether default painting is required. If you have painted the button in the event handler, set this parameter to True. Otherwise, the button will be painted in the default way, specified by the View applied.


TdxNavBarExplorerBarViewOptions.ShowSpecialGroup

TdxNavBarExplorerBarViewOptions

Specifies whether the active group’s header appearance can be customized via styles.

property ShowSpecialGroup: Boolean;

Description

You can specify styles for the normal, hot-tracked, and pressed states of the active group’s header via the OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderActiveHotTracked, and OptionsStyle.DefaultStyles.GroupHeaderActivePressed properties. To apply these styles to Explorer Bar Views, set the ShowSpecialGroup property to True. Note that these styles are ignored in Side Bar Views.

The default value of the ShowSpecialGroup property is False.


TdxNavBarExplorerBarViewOptions.SpaceBetweenGroups

TdxNavBarExplorerBarViewOptions

Specifies the distance (in pixels) between groups.

property SpaceBetweenGroups: Integer;

Description

In Explorer Bar Views, groups are separated from each other by an empty space. To change the distance separating groups use the SpaceBetweenGroups property. Note that this property cannot be set to a negative value. If it is set to 0, the default spacing is applied to groups.

The default value of the SpaceBetweenGroups property is 0.


TdxNavBarGroupControlOptions.AllowControlResizing

TdxNavBarGroupControlOptions Concepts

Specifies whether end-users can adjust the height of the group with embedded controls.

property AllowControlResizing: Boolean;

Description

Set this property to True to create a splitter that allows end-users to vertically resize the group’s client area.

The default value of the AllowControlResizing property is False.


TdxNavBarGroupControlOptions.ShowControl

TdxNavBarGroupControlOptions Concepts See Also

Specifies whether a group’s client area displays links or custom controls.

property ShowControl: Boolean;

Description

The NavBar control allows you to embed controls into the group’s client area. To enable this feature, set the UseControl property to True. This creates a specially designed control (a panel descendant) that fills the group’s client area. This control serves as the container for controls you want to embed within the group.

When the UseControl property is set to True, you can force the group to display either links or the container control together with the controls residing on it. The ShowControl property is used for this purpose. When its value is True, controls are displayed. Otherwise, the group displays its links.

You can use the ShowControl property to switch between the controls view and the links view at runtime. This can be used, for instance, if a group contains control elements to perform operations on objects selected within another control. In such a case, you can switch between the controls view and links view depending on the type of object currently selected.

Note: changing the UseControl property value results in assigning the same value to the ShowControl property. As the control only exists while UseControl is True, changing the ShowControl property to True forces the UseControl property to True also. It is possible, however, to set ShowControl to False without affecting the UseControl value.

The default value of the ShowControl property is False.


TdxNavBarGroupControlOptions.UseControl

TdxNavBarGroupControlOptions Concepts See Also

Specifies whether custom controls can be embedded into a group’s client area.

property UseControl: Boolean;

Description

Set the UseControl property to True when you need to embed controls into the group. When this is done, a panel descendant filling the group’s client area is created. At design time, you can simply drag controls to this panel to provide the group’s content. At runtime, you can add controls to the group by specifying this panel as their parent control. Use the group’s Control property to access the panel.

Note that the panel, together with the controls it contains, is displayed only when the ShowControl property value is True. If the UseControl property value is changed, the same value is assigned to the ShowControl property. As the control only exists while UseControl is True, changing the ShowControl property to True forces the UseControl property to True also. It is possible, however, to set ShowControl to False without affecting the UseControl value.

The default value of the UseControl property is False.


TdxNavBarGroupExpansionOptions.Expandable

TdxNavBarGroupExpansionOptions Concepts See Also

Specifies whether end-users can change a group’s expanded state.

property Expandable: Boolean;

Description

By default, end-users can click group headers to expand and collapse groups. You can prohibit such activity by setting the Expandable property to False. In this case, the group’s expanded state can only be changed via code (by using the desired group’s OptionsExpansion.Expanded property).

The default value of the Expandable property is True.


TdxNavBarGroupExpansionOptions.Expanded

TdxNavBarGroupExpansionOptions Concepts See Also

Specifies whether a group is expanded.

property Expanded: Boolean;

Description

Use this property to expand and collapse groups. The meaning of this property differs for different View types.

If an Explorer Bar View is applied to the control, setting the Expanded property to True expands a group. Setting this property to False collapses the group.

If a Side Bar View is applied to the control, the Expanded property setting has no effect. You can use the ActiveGroup property to specify the expanded group in this case.

The default value of the Expanded property is True.


TdxNavBarGroupExpansionOptions.ShowExpandButton

TdxNavBarGroupExpansionOptions Concepts See Also

Specifies whether a group header sign is displayed within a group's header.

property ShowExpandButton: Boolean;

Description

Set this property to False to hide the group header sign within a group.

Note that the ShowExpandButton property applies only to Explorer Bar Views.

The default value of the ShowExpandButton property is True.


TdxNavBarImageOptions.DisabledLargeImages

TdxNavBarImageOptions See Also

Specifies the source of large images displayed by disabled items.

property DisabledLargeImages; TCustomImageList;

Description

Use an item’s LargeImageIndex property to specify which particular image from the DisabledLargeImages list should be displayed for this item in the disabled state.

Note: The DisabledLargeImages list applies only to items whose Enabled property is set to False. To provide small images for these items, use the DisabledSmallImages list.


TdxNavBarImageOptions.DisabledSmallImages

TdxNavBarImageOptions See Also

Specifies the source of small images displayed by disabled items.

property DisabledSmallImages; TCustomImageList;

Description

Use an item’s SmallImageIndex property to specify which particular image from the DisabledSmallImages list should be displayed for this item in the disabled state.

Note: The DisabledSmallImages list applies only to items whose Enabled property is set to False. To provide large images for these items, use the DisabledLargeImages list.


TdxNavBarImageOptions.HotLargeImages

TdxNavBarImageOptions See Also

Specifies the source of large images displayed by hot-tracked items and groups.

property HotLargeImages; TCustomImageList;

Description

Use the LargeImageIndex property of an item or group to specify which particular image from the HotLargeImages list should be displayed for this item or group in the hot-tracked state.

Note: The HotLargeImages list applies only to items and groups whose Enabled property is set to True. To provide small images for them, use the HotSmallImages list.


TdxNavBarImageOptions.HotSmallImages

TdxNavBarImageOptions See Also

Specifies the source of small images displayed by hot-tracked items and groups.

property HotSmallImages; TCustomImageList;

Description

Use the SmallImageIndex property of an item or group to specify which particular image from the HotSmallImages list should be displayed for this item or group in the hot-tracked state.

Note: The SmallImages list applies only to items and groups whose Enabled property is set to True. To provide large images for them, use the HotLargeImages list.


TdxNavBarImageOptions.LargeImages

TdxNavBarImageOptions Concepts See Also

Specifies the source of large images displayed by items and groups in the normal state.

property LargeImages; TCustomImageList;

Description

Use the LargeImageIndex property of an item or group to specify which particular image from the LargeImages list should be displayed for this item or group in the normal state. To provide small images for these items and groups, use the SmallImages list.

Note: For 32-bit images, use the TcxImageList component shipped with the Express Cross Platform Library.


TdxNavBarImageOptions.SmallImages

TdxNavBarImageOptions Concepts See Also

Specifies the source of small images displayed by items and groups in the normal state.

property SmallImages; TCustomImageList;

Description

Use the SmallImageIndex property of an item or group to specify which particular image from the SmallImages list should be displayed for this item or group in the normal state.

The picture below shows links that use small images.

To provide large images for these items and groups, use the LargeImages list.

Note: For 32-bit images, use the TcxImageList component shipped with the Express Cross Platform Library.


TdxNavBarNavigationPaneBehaviorOptions.AdjustWidthByPopup

TdxNavBarNavigationPaneBehaviorOptions

Specifies whether end-users can adjust the NavBar control’s width by horizontally sizing the collapsed Navigation Pane’s popup window.

property AdjustWidthByPopup: Boolean;

Description

If this property is set to True, the width of the popup window specifies the NavBar control’s width after it’s expanded. Otherwise, sizing the popup window doesn’t affect the NavBar control.

The default value of the AdjustWidthByPopup property is False.


TdxNavBarNavigationPaneBehaviorOptions.AllowCustomizing

TdxNavBarNavigationPaneBehaviorOptions

Specifies the visibility of the "Add or Remove Buttons" item within the context menu.

property AllowCustomizing: Boolean;

Description

End-users can select this menu item to display a submenu allowing them to change the visibility of groups within the View. To remove this item from the context menu, set the AllowCustomizing property to False.

The default value of the AllowCustomizing property is True.


TdxNavBarNavigationPaneBehaviorOptions.Collapsed

TdxNavBarNavigationPaneBehaviorOptions Concepts See Also

Specifies whether the Navigation Pane is collapsed.

property Collapsed: Boolean;

Description

To collapse the Navigation Pane, set this property to True.

Handle the NavBar control’s OnNavigationPaneCollapsed and OnNavigationPaneExpanded events, to respond when the Navigation Pane is collapsed or expanded.

Note that you cannot change the Collapsed property value if any of the following conditions are met:

  • the Collapsible property is set to False.

  • the NavBar control’s Align property is set to alTop, alBottom, or alClient.

The default value of the Collapsed property is False.


TdxNavBarNavigationPaneBehaviorOptions.Collapsible

TdxNavBarNavigationPaneBehaviorOptions Concepts See Also

Specifies whether the Navigation Pane can be collapsed.

property Collapsible: Boolean;

Description

To allow the Navigation Pane to be collapsed, set this property to True. Otherwise, the Navigation Pane is expanded and it cannot be collapsed either programmatically, or by end-users.

Use the Collapsed property to change the Navigation Pane’s expanded state.

The default value of the Collapsible property is False.


TdxNavBarNavigationPaneBehaviorOptions.ShowOverflowPanelHints

TdxNavBarNavigationPaneBehaviorOptions

Specifies whether to display hints for icons within the overflow panel.

property ShowOverflowPanelHints: Boolean;

Description

If the ShowOverflowPanelHints property is set to True, hints with group captions are displayed when pointing with the mouse cursor to icons located in the overflow panel. Set this property to False to prohibit such hints.

The default value of the ShowOverflowPanelHints property is True.


TdxNavBarNavigationPaneViewOptions.MaxVisibleGroups

TdxNavBarNavigationPaneViewOptions

Specifies the number of visible group headers within the Navigation Pane View.

property MaxVisibleGroups: Integer;

Description

In Navigation Pane Views, end-users may change the number of visible group headers by dragging the splitter or using the built-in context menu. Reducing the number of headers results in adding corresponding group icons to the overflow panel, thus end-users still have access to all the groups.

The MaxVisibleGroups property enables you to change the number of visible group headers either at design or at runtime. Set this property to –1 to display all the available group headers. Set it to 0 to hide all the group headers so that groups can only be accessed via the overflow panel. Setting this property to a positive integer results in the specified number of headers being displayed (if possible).

Note: the MaxVisibleGroups property value may exceed the number of currently visible groups. This takes place, for instance, when either you or end-users change groups’ visibility so that the number of visible groups is less than the MaxVisibleGroups property value. Thus, this property actually specifies the maximum number of group headers that can be visible at any one time.

The default value of the MaxVisibleGroups property is –1.


TdxNavBarNavigationPaneViewOptions.OverflowPanelUseSmallImages

TdxNavBarNavigationPaneViewOptions

Specifies whether small or large group images are displayed within the overflow panel.

property OverflowPanelUseSmallImages: Boolean;

Description

Set the OverflowPanelUseSmallImages property to False to display large group images within the overflow panel. Otherwise, small images will be displayed.

The default value of the OverflowPanelUseSmallImages property is True.


TdxNavBarNavigationPaneViewOptions.ShowHeader

TdxNavBarNavigationPaneViewOptions

Specifies whether the header section is displayed.

property ShowHeader: Boolean;

Description

Set this property to False, to hide the header section.

The default value of the ShowHeader property is True.


TdxNavBarNavigationPaneViewOptions.ShowOverflowPanel

TdxNavBarNavigationPaneViewOptions

Specifies whether the overflow panel is displayed.

property ShowOverflowPanel: Boolean;

Description

Set this property to False, to hide the overflow panel.

The default value of the ShowOverflowPanel property is True.


TdxNavBarPersistent.NavBar

TdxNavBarPersistent

Provides access to a NavBar control which owns this object.

property NavBar: TdxCustomNavBar ;

ReadOnly Property


TdxNavBarSideBarBehaviorOptions.AllowSelectLinks

TdxNavBarSideBarBehaviorOptions Concepts See Also

Specifies whether end-users can select links.

property AllowSelectLinks: Boolean;

Description

A selected link will have a different appearance to other links in the NavBar. If the AllowSelectLinks property is set to True links in the NavBar groups can become selected.

In general, when an end-user selects a new link in the current or in another NavBar group the previously selected link loses its selected state. To force selected links to persist their selected state when an end-user selects a link in another NavBar group set the EachGroupHasSelectedLink property to True.

Note that the AllowSelectLinks property is in effect when one of the Side Bar Views is applied to the control.

The default value of the AllowSelectlinks property is False.


TdxNavBarSideBarBehaviorOptions.EachGroupHasSelectedLink

TdxNavBarSideBarBehaviorOptions Concepts See Also

Indicates whether each NavBar group can have a selected link.

property EachGroupHasSelectedLink: Boolean;

Description

Set the property to True to allow each group to have a selected link. This means that a selected link persists its selected state even if a link is selected from a different group. Set it to False to disable persistence of the selected state of links.

In order to allow selected links you should also enable the AllowSelectLinks property.

For more detailed information regarding work with links, please refer to the Selecting and clicking links article.

The default value of the EachGroupHasSelectedLink property is False.


TdxNavBarViewOptions.Common

TdxNavBarViewOptions

Provides access to appearance options that are common to all View types.

property Common: TdxNavBarCommonViewOptions;

Description

Refer to the TdxNavBarCommonViewOptions class description, to learn about available settings.


TdxNavBarViewOptions.ExplorerBar

TdxNavBarViewOptions

Provides access to appearance options of Explorer Bar Views.

property ExplorerBar: TdxNavBarExplorerBarViewOptions;

Description

Refer to the TdxNavBarExplorerBarViewOptions class description, to learn about available settings.


TdxNavBarViewOptions.NavigationPane

TdxNavBarViewOptions

Provides access to appearance options of Navigation Pane Views.

property NavigationPane: TdxNavBarNavigationPaneViewOptions;

Description

Refer to the TdxNavBarNavigationPaneViewOptions class description, to learn about available settings.


Events for TdxNavBarCustomDrawEvents

TdxNavBarCustomDrawEvents Events

TdxNavBarCustomDrawEvents Legend

In TdxNavBarCustomDrawEvents

Background

BottomScrollButton

GroupCaption

GroupClientBackground

GroupClientForeground

GroupHint

Link

LinkHint

NavigationPaneHeader

NavigationPaneSplitter

NavigationPaneOverflowPanel

NavigationPaneOverflowPanelHint

TopScrollButton


Properties for TdxNavBarBehaviorOptions

TdxNavBarBehaviorOptions Properties

TdxNavBarBehaviorOptions Legend

In TdxNavBarBehaviorOptions

Common

NavigationPane

SideBar


Properties for TdxNavBarCommonBehaviorOptions

TdxNavBarCommonBehaviorOptions Properties

TdxNavBarCommonBehaviorOptions Legend

In TdxNavBarCommonBehaviorOptions

DragDropFlags

ShowGroupsHint

ShowLinksHint


Properties for TdxNavBarCommonViewOptions

TdxNavBarCommonViewOptions Properties

TdxNavBarCommonViewOptions Legend

In TdxNavBarCommonViewOptions

ShowGroupCaptions


Properties for TdxNavBarCursors

TdxNavBarCursors Properties

TdxNavBarCursors Legend

In TdxNavBarCursors

Cursor

DragCursor

DragCopyCursor

HotTrackedGroupCursor

HotTrackedLinkCursor


Properties for TdxNavBarExplorerBarViewOptions

TdxNavBarExplorerBarViewOptions Properties

TdxNavBarExplorerBarViewOptions Legend

In TdxNavBarExplorerBarViewOptions

ShowSpecialGroup

SpaceBetweenGroups


Properties for TdxNavBarGroupControlOptions

TdxNavBarGroupControlOptions Properties

TdxNavBarGroupControlOptions Legend

In TdxNavBarGroupControlOptions

AllowControlResizing

ShowControl

UseControl


Properties for TdxNavBarGroupExpansionOptions

TdxNavBarGroupExpansionOptions Properties

TdxNavBarGroupExpansionOptions Legend

In TdxNavBarGroupExpansionOptions

Expandable

Expanded

ShowExpandButton


Properties for TdxNavBarImageOptions

TdxNavBarImageOptions Properties

TdxNavBarImageOptions Legend

In TdxNavBarImageOptions

DisabledLargeImages

DisabledSmallImages

HotLargeImages

HotSmallImages

LargeImages

SmallImages


Properties for TdxNavBarNavigationPaneBehaviorOptions

TdxNavBarNavigationPaneBehaviorOptions Properties

TdxNavBarNavigationPaneBehaviorOptions Legend

In TdxNavBarNavigationPaneBehaviorOptions

AdjustWidthByPopup

AllowCustomizing

Collapsible

Collapsed

ShowOverflowPanelHints


Properties for TdxNavBarNavigationPaneViewOptions

TdxNavBarNavigationPaneViewOptions Properties

TdxNavBarNavigationPaneViewOptions Legend

In TdxNavBarNavigationPaneViewOptions

MaxVisibleGroups

OverflowPanelUseSmallImages

ShowHeader

ShowOverflowPanel


Properties for TdxNavBarPersistent

TdxNavBarPersistent Properties

TdxNavBarPersistent Legend

In TdxNavBarPersistent

NavBar


Properties for TdxNavBarSideBarBehaviorOptions

TdxNavBarSideBarBehaviorOptions Properties

TdxNavBarSideBarBehaviorOptions Legend

In TdxNavBarSideBarBehaviorOptions

AllowSelectLinks

EachGroupHasSelectedLink


Properties for TdxNavBarViewOptions

TdxNavBarViewOptions Properties

TdxNavBarViewOptions Legend

In TdxNavBarViewOptions

Common

ExplorerBar

NavigationPane


TdxNavBarBehaviorOptions Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarBehaviorOptions


TdxNavBarCommonBehaviorOptions Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarCommonBehaviorOptions


TdxNavBarCommonViewOptions Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarCommonViewOptions


TdxNavBarCursors Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarCursors


TdxNavBarCustomDrawEvents Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarCustomDrawEvents


TdxNavBarExplorerBarViewOptions Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarExplorerBarViewOptions


TdxNavBarGroupControlOptions Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarGroupControlOptions


TdxNavBarGroupExpansionOptions Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarGroupExpansionOptions


TdxNavBarImageOptions Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarImageOptions


TdxNavBarNavigationPaneBehaviorOptions Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarNavigationPaneBehaviorOptions


TdxNavBarNavigationPaneViewOptions Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarNavigationPaneViewOptions


TdxNavBarPersistent Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent


TdxNavBarSideBarBehaviorOptions Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarSideBarBehaviorOptions


TdxNavBarViewOptions Hierarchy

Hierarchy

TPersistent

|

TdxNavBarPersistent

|

TdxNavBarViewOptions


TdxNavBarCustomBackgroundPainter.DrawBackground

TdxNavBarCustomBackgroundPainter Example

Renders a rectangular region on a specific canvas.

class procedure DrawBackground(ACanvas: TCanvas; R: TRect; APicture: TPicture; AEraseBackground: Boolean; ABackgroundColor: TColor; AColor1, AColor2: TColor; AAlphaBlend1, AAlphaBlend2: Byte; AGradientMode: TdxBarStyleGradientMode);

Description

A common use of the DrawBackground method is to perform a custom draw of the NavBar control and group background via the OnCustomDraw.Background and OnCustomDraw.GroupClientBackground events.

The DrawBackground method fills the control’s background specified by the ACanvas parameter with a linear gradient brush (gradual change of colors). The method also enables you to draw a picture and combine it with the gradient filling.

The rectangular region filled by the method is specified by the R parameter.

First, the DrawBackground method tiles APicture on the specified canvas rectangle. If APicture contains no graphics and the AEraseBackground parameter is True, the rectangular region is cleared (filled with the color specified by the ABackgroundColor parameter).

The DrawBackground method then fills the region with the color that changes smoothly across the rectangle (gradient filling). The AColor1 and AColor2 parameters specify the colors of the starting and ending points of the gradient respectively. The direction of the color gradient filling is defined by the AGradientMode parameter.

The AAlphaBlend1 and AAlphaBlend2 parameters allow you to specify the transparency gradient of the filling. Each determines a value between 0 and 255 and this allows you to make the filling translucent. Setting the parameters to 0 makes the filling absolutely transparent (the background is painted without color blending). Conversely, a value of 255 makes the filling 100% opaque (the background is invisible).

Note: The DrawBackground method uses the GDI+ library to enable color gradient and transparency effects. If GDI+ is not installed, the rectangular region is simply filled with the solid color specified by the AColor1 parameter.

The following screenshot shows a rectangle rendered by the DrawBackground method, which was passed a sample image as an APicture parameter. Other arguments were set as follows:

  • AEraseBkgnd is set to True

  • AColor1 is set to $507FFF

  • AColor2 is set to $C1B6FF

  • AAlphaBlend1 is set to 0

  • AAlphaBlend2 is set to 255

  • AGradMode is set to gmForwardDiagonal


TdxNavBarCustomButtonPainter.DrawButton

TdxNavBarCustomButtonPainter Example

Renders a button within a NavBar group header.

class procedure DrawButton(ACanvas: TCanvas; ARect: TRect; APicture: TPicture; AColor1, AColor2: TColor; AAlphaBlend1, AAlphaBlend2: Byte; AGradientMode: TdxBarStyleGradientMode; ABorderColor: TColor; AState: TdxNavBarObjectState);

Description

You can use this method when performing custom painting of NavBar group headers via the OnCustomDraw.GroupCaption event.

Standard TdxNavBarCustomButtonPainter descendants draw a button on the ACanvas surface within the rectangular region specified by the ARect parameter. The inner button region is filled with a linear gradient brush (gradual change of colors). If the picture is specified via the APicture parameter, it is tiled before the gradient filling. In this case, the gradual filling is blended with the picture depending on the AAlphaBlend1 and AAlphaBlend2 parameters.

You can use the AState parameter to specify the state of the button to draw. The button can be drawn active, disabled, pressed, etc.

The filling of the inner button region is performed by the TdxNavBarCustomBackgroundPainter.DrawBackground class method. Refer to its description for more details.

If XP themes are enabled, the TdxNavBarXPButtonPainter and TdxNavBarXPExplorerBarButtonPainter painters ignore the parameters specifying the fill colors and gradient and alpha-blending settings. In this case, they fill the button inner region based on the system settings (the current XP theme). Otherwise, buttons are rendered by the TdxNavBarXPButtonPainter and TdxNavBarXPExplorerBarButtonPainter ancestors (TdxNavBarOfficeButtonPainter and TdxNavBarAdvExplorerButtonPainter respectively).

Note: The DrawButton method uses the GDI+ library to enable color gradient and transparency effects. If GDI+ is not installed, the rectangular region is simply filled with the solid AColor1 color.


TdxNavBarCustomHintPainter.DrawHint

TdxNavBarCustomHintPainter Example

Draws a hint message for NavBar groups and links.

class procedure DrawHint(ACanvas: TCanvas; ARect: TRect; AHint: string; APicture: TPicture; AColor1, AColor2: TColor; AAlphaBlend1, AAlphaBlend2: Byte; AGradientMode: TdxBarStyleGradientMode; AFont: TFont);

Description

You can use this method when performing custom painting of NavBar group and link hints via the OnCustomDraw.GroupHint and OnCustomDraw.LinkHint events.

The TdxNavBarHintPainter class draws a hint on the ACanvas surface within the rectangular region specified by the ARect parameter. The text of the hint is specified by the AHint parameter. AFont determines the font used to paint the hint text.

Other parameters are used to fill the hint background. The DrawHint method invokes the TdxNavBarCustomBackgroundPainter.DrawBackground class method. Refer to its description for details.

Note: The DrawHint method uses the GDI+ library to enable color gradient and transparency effects. If GDI+ is not installed, the background is simply filled with the solid color specified by the AColor1 parameter.


TdxNavBarCustomImagePainter.DrawImage

TdxNavBarCustomImagePainter Example

Draws a specific image from an image list.

class procedure DrawImage(ACanvas: TCanvas; AImageList: TCustomImageList; AImageIndex: Integer; R: TRect, AEnabled: Boolean = True);

Description

You can use this method when implementing custom draw of NavBar elements. Commonly it is called for drawing:

  • images within group headers in an OnCustomDraw.GroupCaption event handler;

  • link images in the OnCustomDraw.Link and OnCustomDraw.GroupClientForeground event handlers.

The image to draw is obtained from the image list (AImageList) by its zero-based index (AImageIndex).

The ACanvas parameter specifies the graphic surface on which it is drawn.

Set the AEnabled parameter to False to paint the image grayed out.

The DrawImage method draws the entire image starting at the top-left point of the rectangle R.

Note: For 32-bit images, use the TcxImageList component shipped with the Express Cross Platform Library.


TdxNavBarCustomScrollButtonsPainter.DrawBottomButton

TdxNavBarCustomScrollButtonsPainter

Draws a bottom scroll button.

type

TdxNavBarCustomButtonPainterClass = class of TdxNavBarCustomButtonPainter;

class procedure DrawBottomButton(ACanvas: TCanvas; ARect: TRect; AButtonPainterClass: TdxNavBarCustomButtonPainterClass; AColor1, AColor2: TColor; AAlphaBlend1, AAlphaBlend2: Byte; AGradientMode: TdxBarStyleGradientMode; ABorderColor: TColor; AState: TdxNavBarObjectState);

Description

The TdxNavBarBaseScrollButtonsPainter class implements the DrawBottomButton method in the following manner:

  • Calls the DrawButton class method of the AButtonPainterClass class passing it the ARect, AColor1, AColor2, AAlphaBlend1, AAlphaBlend2, AGradientMode, ABorderColor, and AState parameters. This renders the button within a given rectangle with the required color, alpha-blending and gradient settings. See the DrawButton method description for more details.

  • Draws a down arrow on the button surface with the color based on the button’s state (AState).

The TdxNavBarXPScrollButtonsPainter class draws a scroll button using the current XP theme. If the operating system does not support XP themes, the system-defined scroll button is used.


TdxNavBarCustomScrollButtonsPainter.DrawTopButton

TdxNavBarCustomScrollButtonsPainter

Draws a top scroll button.

type

TdxNavBarCustomButtonPainterClass = class of TdxNavBarCustomButtonPainter;

class procedure DrawTopButton(ACanvas: TCanvas; ARect: TRect; AButtonPainterClass: TdxNavBarCustomButtonPainterClass; AColor1, AColor2: TColor; AAlphaBlend1, AAlphaBlend2: Byte; AGradientMode: TdxBarStyleGradientMode; ABorderColor: TColor; AState: TdxNavBarObjectState);

Description

The TdxNavBarBaseScrollButtonsPainter class implements the DrawTopButton in the following manner:

  • Calls the DrawButton class method of the AButtonPainterClass class passing it the ARect, AColor1, AColor2, AAlphaBlend1, AAlphaBlend2, AGradientMode, ABorderColor, and AState parameters. This renders the button within a given rectangle with the required color, alpha-blending and gradient settings. See the DrawButton method description for more details.

  • Draws an up-arrow on the button surface with the color based on the button’s state (AState).

The TdxNavBarXPScrollButtonsPainter class draws a scroll button using the current XP theme. If the operating system does not support XP themes, the system-defined scroll button is used.


TdxNavBarCustomSelectionPainter.DrawSelection

TdxNavBarCustomSelectionPainter Example

Draws the selection within a specified rectangle.

class procedure DrawSelection(ACanvas: TCanvas; ARect: TRect; ABackColor: TColor; AState: TdxNavBarObjectState);

Description

Use this method of TdxNavBarCustomSelectionPainter descendants when performing custom draw of NavBar links via the OnCustomDraw.GroupClientForeground and OnCustomDraw.Link events.

The selection is used by specific Views to draw the background of pressed, selected and hot-tracked links.

Various TdxNavBarCustomSelectionPainter descendants implement the method using different effects to draw the selection: inflating/deflating and blending with a color.

The DrawSelection method draws the selection on the ACanvas canvas within a specific rectangular region (ARect). ABackColor specifies the color of the selection border for some painters (TdxNavBarBaseSelectionPainter and TdxNavBarVSToolBoxSelectionPainter). AState defines whether the selection is drawn for a selected, pressed or hot-tracked link). This property affects the selection color and specifies whether the selection region is painted raised or lowered.


TdxNavBarCustomSignPainter.DrawSign

TdxNavBarCustomSignPainter Example

Draws a group header sign within a specific rectangle.

class procedure DrawSign(ACanvas: TCanvas; ARect: TRect; AForeColor, ABackColor1, ABackColor2: TColor; AState: TdxNavBarObjectState);

Description

Use this method of TdxNavBarCustomSignPainter descendants when performing custom draw of NavBar group headers via the OnCustomDraw.GroupCaption event.

A group header sign is drawn within a group header. It indicates the current expansion status of NavBar groups. Group header signs are supported only by Explorer Bar Views. These Views use standard painters (see the TdxNavBarCustomSignPainter class description), which draw signs as double arrows.

The DrawSign method draws a sign on the ACanvas canvas within the rectangular region specified by the ARect parameter. The AForeColor parameter specifies the double-arrow color. ABackColor1 and ABackColor2 specify the starting and ending colors for the background's gradient fill (note that the TdxNavBarExplorerBarSignPainter ignores these parameters).

The AState parameter is used to know which type of a double-arrow to draw. If it contains the sExpanded flag, an up-arrow is drawn. Otherwise, the method draws a down-arrow.


Methods for TdxNavBarCustomBackgroundPainter

TdxNavBarCustomBackgroundPainter Methods

TdxNavBarCustomBackgroundPainter Legend

In TdxNavBarCustomBackgroundPainter

DrawBackground


Methods for TdxNavBarCustomButtonPainter

TdxNavBarCustomButtonPainter Methods

TdxNavBarCustomButtonPainter Legend

In TdxNavBarCustomButtonPainter

DrawButton


Methods for TdxNavBarCustomHintPainter

TdxNavBarCustomHintPainter Methods

TdxNavBarCustomHintPainter Legend

In TdxNavBarCustomHintPainter

DrawHint


Methods for TdxNavBarCustomImagePainter

TdxNavBarCustomImagePainter Methods

TdxNavBarCustomImagePainter Legend

In TdxNavBarCustomImagePainter

DrawImage


Methods for TdxNavBarCustomScrollButtonsPainter

TdxNavBarCustomScrollButtonsPainter Methods

TdxNavBarCustomScrollButtonsPainter Legend

In TdxNavBarCustomScrollButtonsPainter

DrawBottomButton

DrawTopButton


Methods for TdxNavBarCustomSelectionPainter

TdxNavBarCustomSelectionPainter Methods

TdxNavBarCustomSelectionPainter Legend

In TdxNavBarCustomSelectionPainter

DrawSelection


Methods for TdxNavBarCustomSignPainter

TdxNavBarCustomSignPainter Methods

TdxNavBarCustomSignPainter Legend

In TdxNavBarCustomSignPainter

DrawSign


TdxNavBarCustomBackgroundPainter Hierarchy

Hierarchy

TObject

|

TdxNavBarCustomBackgroundPainter


TdxNavBarCustomButtonPainter Hierarchy

Hierarchy

TObject

|

TdxNavBarCustomButtonPainter


TdxNavBarCustomHintPainter Hierarchy

Hierarchy

TObject

|

TdxNavBarCustomHintPainter


TdxNavBarCustomImagePainter Hierarchy

Hierarchy

TObject

|

TdxNavBarCustomImagePainter


TdxNavBarCustomScrollButtonsPainter Hierarchy

Hierarchy

TObject

|

TdxNavBarCustomScrollButtonsPainter


TdxNavBarCustomSelectionPainter Hierarchy

Hierarchy

TObject

|

TdxNavBarCustomSelectionPainter


TdxNavBarCustomSignPainter Hierarchy

Hierarchy

TObject

|

TdxNavBarCustomSignPainter


TdxNavBarComponentCollection.Add

TdxNavBarComponentCollection See Also

Creates a new item and adds it to the collection.

function Add: TdxNavBarComponentCollectionItem;

Description

The Add method is used to create a new item and add it to the end of the collection. Descendants declare overloads of this method to create and add items of specific types and return corresponding objects. These methods use the Add method of this base class to implement their functionalities.


TdxNavBarComponentCollection.Assign

TdxNavBarComponentCollection

Assigns the contents of one TdxNavBarComponentCollection instance to another.

procedure Assign(Source: TPersistent); override;

Description

The Assign method is used to copy the contents of one collection instance to another. The Assign method deletes all items from the destination collection (the caller object) and then adds a copy of each item from the Source collection’s Items array.


TdxNavBarComponentCollection.Clear

TdxNavBarComponentCollection See Also

Removes all items from the collection.

procedure Clear;

Description

The Clear method empties the Items array and destroys each collection item.


TdxNavBarComponentCollection.Count

TdxNavBarComponentCollection See Also

Returns the number of items in a collection.

property Count: Integer;

Description

The Count property contains the number of items in a collection. Since the Items array is indexed starting with 0, the Count property value is always one greater than the index of the last member of the collection.

ReadOnly Property


TdxNavBarComponentCollection.Create

TdxNavBarComponentCollection See Also

Creates and initializes a collection.

type

TdxNavBarComponentCollectionItemClass = class of TdxNavBarComponentCollectionItem;

constructor Create(AOwner: TComponent; AItemClass: TdxNavBarComponentCollectionItemClass);

Description

The Create method is used to create a new instance of the collection class and initialize its properties. This constructor accepts the type of the TdxNavBarComponentCollectionItem descendant class as an AItemClass parameter. This parameter determines the class of the items created by the Add method. The AOwner parameter specifies the owner of the created collection (typically, the TdxNavBar object).

Instances of this object are created automatically when the NavBar control’s specific properties (Groups, Items, OptionsStyle.CustomStyleRepository) are initialized. Thus, you do not need to use this method directly.


TdxNavBarComponentCollection.Delete

TdxNavBarComponentCollection See Also

Deletes a specific item from the collection.

procedure Delete(Index: Integer);

Description

The Delete method removes the item specified by the Index parameter from the collection and destroys it. The Index parameter is the index of the item in the Items property array. Items are zero-based indexed. If the Index parameter value is negative or exceeds the maximum available index, an exception is raised. The last available item index is always one less than the Count property value.


TdxNavBarComponentCollection.Destroy

TdxNavBarComponentCollection See Also

Destroys a collection with all its items.

destructor Destroy; override;

Description

The Destroy method is used to destroy a collection and all its items. This method calls the Clear method to free each item referenced in the Items array and then calls the inherited destructor.

Do not use the Destroy method directly, since all descendant collections (Groups, Items, OptionsStyle.CustomStyleRepository) are automatically freed when destroying the NavBar control.


TdxNavBarComponentCollection.IndexOf

TdxNavBarComponentCollection See Also

Returns the position of a specific item within the collection.

function IndexOf(Item: TdxNavBarComponentCollectionItem): Integer;

Description

Call the IndexOf method to obtain the position of the item specified by the Item parameter. This method returns an integer value representing the zero-based index of the specified item within the collection. If the specified item is not present in the collection, the IndexOf method returns -1.


TdxNavBarComponentCollection.ItemByName

TdxNavBarComponentCollection See Also

Returns a collection item by its name.

function ItemByName(const AName: string): TdxNavBarComponentCollectionItem;

Description

Use the ItemByName method to get a collection item by its name, the name to search for is specified via the AName parameter. The ItemByName method returns the item object whose Name property value is equal to the value of the AName parameter.

If no item matching the name was found in the collection’s Items list, the ItemByName method returns nil.

You can also use the Items property to access a specific collection item by its integer index.


TdxNavBarComponentCollection.Items

TdxNavBarComponentCollection See Also

Provides indexed access to collection items.

property Items[Index: Integer]: TdxNavBarComponentCollectionItem;

Description

Use the Items property to access individual items in a collection. The value of the Index parameter corresponds to the Index property of a collection item. It represents its position in the collection. Items are zero-based indexed. If the Index parameter value is negative or exceeds the maximum available index, an exception is raised. The last available item index is always one less than the Count property value.


TdxNavBarComponentCollection.OnChange

TdxNavBarComponentCollection

Occurs when the collection or any of its items changes.

type

TdxNavBarChangeType = (doRecreate, doRecalc, doRedraw);

TdxNavBarChangeEvent = procedure(Sender: TObject; AType: TdxNavBarChangeType) of object;

property OnChange: TcxNavBarChangeEvent;

This event is for internal use only.


TdxNavBarComponentCollection.Owner

TdxNavBarComponentCollection

Returns the collection’s owner.

property Owner: TComponent;

Description

Use the Owner property to obtain a reference to the object that owns a specific collection. Typically, such a collection owner is a NavBar control (the TdxNavBar object).

ReadOnly Property


TdxNavBarComponentCollection.Remove

TdxNavBarComponentCollection See Also

Removes a specific item from the collection.

procedure Remove(Item: TdxNavBarComponentCollectionItem);

Description

Use the Remove method to delete a specific item from the collection. The Item parameter specifies the item to be deleted. After the item is removed, the Count property value is decremented.

Note that the Remove method removes only the first occurrence of the specified item. If the specified item is not found, the method performs nothing.

Use the Delete method to remove the item with the specified index from the collection.


TdxNavBarComponentCollectionItem.Collection

TdxNavBarComponentCollectionItem

Provides access to the collection to which the current item belongs.

property Collection: TdxNavBarComponentCollection;

Description

Item objects derived from the TdxNavBarComponentCollectionItem class are contained in collection objects, which are TdxNavBarComponentCollection descendants. Each item belongs to the collection, which creates it. Collections can add new items by using their Add methods. You can use the Collection property of an item to access the collection object to which the item belongs.

ReadOnly Property


TdxNavBarComponentCollectionItem.CollectionOwner

TdxNavBarComponentCollectionItem

Provides access to the owner of the collection which the current item belongs to.

property CollectionOwner: TComponent;

Description

Use the CollectionOwner property to obtain a reference to the object that owns the collection to which the current item belongs. Typically, the owner is a NavBar control (the TdxNavBar object).

ReadOnly Property


TdxNavBarComponentCollectionItem.GetParentComponent

TdxNavBarComponentCollectionItem See Also

Returns the parent of an item.

function GetParentComponent: TComponent; override;

Description

The GetParentComponent method is called by the streaming system that loads and saves VCL components. A component returned by the GetParentComponent method is responsible for loading and saving collection items when they are streamed in or out. As implemented in the TdxNavBarComponentCollectionItem class, the GetParentComponent method returns the Owner property value of the collection object to which a specific item belongs (typically, the TcxNavBar object). If the item does not belong to any collection, this method returns nil.


TdxNavBarComponentCollectionItem.HasParent

TdxNavBarComponentCollectionItem See Also

Indicates whether an item has a parent.

function HasParent: Boolean; override;

Description

This method is used by the streaming system to determine whether an item has a parent responsible for loading and saving its data. As implemented in the TdxNavBarComponentCollectionItem class, the HasParent method returns True if the item belongs to any collection and the collection’s Owner property is not nil (a standard collection owner is a TdxNavBar object). Otherwise, this method returns False.


Events for TdxNavBarComponentCollection

TdxNavBarComponentCollection Events

TdxNavBarComponentCollection Legend

In TdxNavBarComponentCollection

OnChange


Methods for TdxNavBarComponentCollection

TdxNavBarComponentCollection Methods

TdxNavBarComponentCollection Legend

In TdxNavBarComponentCollection

Add

Assign

Clear

Create

Delete

Destroy

IndexOf

ItemByName

Remove


Methods for TdxNavBarComponentCollectionItem

TdxNavBarComponentCollectionItem Methods

TdxNavBarComponentCollectionItem Legend

In TdxNavBarComponentCollectionItem

GetParentComponent

HasParent

Derived from TcxComponentCollectionItem

AddToCollection

RemoveFromCollection


Properties for TdxNavBarComponentCollection

TdxNavBarComponentCollection Properties

TdxNavBarComponentCollection Legend

In TdxNavBarComponentCollection

Count

Items

Owner


Properties for TdxNavBarComponentCollectionItem

TdxNavBarComponentCollectionItem Properties

TdxNavBarComponentCollectionItem Legend

In TdxNavBarComponentCollectionItem

Collection

CollectionOwner

Derived from TcxComponentCollectionItem

ID

Index


TdxNavBarComponentCollection Hierarchy

Hierarchy

TPersistent

|

TdxNavBarComponentCollection


TdxNavBarComponentCollectionItem Hierarchy

Hierarchy

TComponent

|

TcxComponentCollectionItem

|

TdxNavBarComponentCollectionItem


TdxNavBarCustomItems

TdxNavBarCustomItems Object

Hierarchy Properties Methods Events See Also

Represents a collection of items within a NavBar control.

Unit

dxNavBarCollns

TdxNavBarCustomItems = class(TdxNavBarComponentCollection)

Description

A collection of NavBar control items is accessed via the Items property. This property returns the TdxNavBarItems object. Use this object's methods and properties to manipulate control items.

Each collection item is represented by a TdxNavBarItem object. Use the Items property to access an individual item within the collection.


TdxNavBarGroupControl

TdxNavBarGroupControl Object

Hierarchy Properties Events Concepts

Represents the container for controls embedded within a group.

Unit

dxNavBarCollns

TdxNavBarGroupControl = class(TCustomPanel)

Description

The TdxNavBarGroupControl control is specially designed to allow controls to be embedded within its groups. When a group’s OptionsGroupControl.UseControl property is set to True, an instance of this control is created and positioned to fit the group’s client area. If an Explorer Bar View is applied to the NavBar, the control can be vertically resized as needed.

When the TdxNavBarGroupControl is created for a group, it can be accessed via the group’s Control property.

The TdxNavBarGroupControl is derived from the TCustomPanel class. It implements all the functionality needed to serve as the container for other controls.


TdxNavBarGroup.Create

TdxNavBarGroup See Also

Creates and initializes a new group instance.

constructor Create(AOwner: TComponent); override;

Description

The Create method is used to create a new instance of the TdxNavBarGroup object at runtime. This method calls the inherited constructor and initializes the TdxNavBarGroup object’s properties to their default values. The AOwner parameter specifies the owner of the newly created group (typically, the TdxNavBar object).

If you create a group using this method, you should then add the newly created group to the NavBar’s Groups collection. Use the group’s AddToCollection method for this purpose. But adding a new group to the NavBar using the Add method of the groups collection is easier.


TdxNavBarGroup.CreateLink

TdxNavBarGroup See Also Concepts

Creates a link to a specific item within the current group.

function CreateLink(AItem: TdxNavBarItem): TdxNavBarItemLink;

Description

Use the CreateLink method to create a link between a group and a specific item. This method returns the newly created link object with the Group property set to the group object and the Item property set to the AItem parameter.


TdxNavBarGroup.Destroy

TdxNavBarGroup See Also

Destroys the TdxNavBarGroup object.

destructor Destroy; override;

Description

The destructor is used to dispose of the TdxNavBarGroup object and free any allocated memory. It releases the collection of item links before calling the inherited destructor.

Do not destroy TdxNavBarGroup objects in applications. Instead use the corresponding Groups collection’s methods to delete a group.


TdxNavBarGroup.Expandable

TdxNavBarGroup

Specifies whether end-users can change the current group’s expanded state.

property Expandable: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the group’s OptionsExpansion.Expandable property instead.


TdxNavBarGroup.Expanded

TdxNavBarGroup

Specifies whether the current group is expanded.

property Expanded: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the group’s OptionsExpansion.Expanded property instead.


TdxNavBarGroup.FindLink

TdxNavBarGroup See Also Concepts

Searches the current group for a link to a specified item.

function FindLink(AItem: TdxNavBarItem): TdxNavBarItemLink;

Description

This function returns the first link object whose Item property value equals the AItem parameter value. If no link is found, nil is returned.


TdxNavBarGroup.LinkCount

TdxNavBarGroup See Also Concepts

Returns the total number of links owned by the current group.

property LinkCount: Integer;

ReadOnly Property


TdxNavBarGroup.Links

TdxNavBarGroup See Also Concepts

Returns a link by its index.

property Links[Index: Integer]: TdxNavBarItemLink;

Description

The TdxNavBar control holds collections of groups and items. They are represented by its Groups and Items properties respectively. To display an item within a group, a link between them must be created. Each group stores its collection of links. Individual links contained within a group are available via the group’s Links property. Use this property to obtain a group link specified by its index.

ReadOnly Property


TdxNavBarGroup.LinksUseSmallImages

TdxNavBarGroup See Also Concepts

Specifies whether links of a group use small or large images.

property LinksUseSmallImages: Boolean;

Description

Since each item can have two images assigned to it, links to the same item can be displayed differently in different groups. Use the LinksUseSmallImages property of a group to specify whether its links corresponding to items are displayed by using small or large images. If this property is set to True, small images are displayed within the group’s links. Otherwise, large images are used. Changing this property value results in changing the link appearance for a number of painting styles.

The image below displays a TdxNavBar control, whose second group's LinksUseSmallImages property is set to False and True respectively.


TdxNavBarGroup.OnCollapsed

TdxNavBarGroup See Also Concepts

Occurs after a group has been collapsed.

property OnCollapsed: TNotifyEvent;

Description

Write an OnCollapsed event handler to perform specific actions immediately after a group has been collapsed.

There are two things that will cause the event to fire:

  • An end-user collapses a group when an Explorer Bar View is used.

  • The group’s OptionsExpansion.Expanded property value is set to False via code.


TdxNavBarGroup.OnExpanded

TdxNavBarGroup See Also Concepts

Occurs after a group has been expanded.

property OnExpanded: TNotifyEvent;

Description

Write an OnExpanded event handler to perform specific actions immediately after a group has been expanded.

There are two things that will cause the event to fire:

  • An end user expands a group when an Explorer Bar View is used.

  • The group’s OptionsExpansion.Expanded property value is set to True via code.


TdxNavBarGroup.OnSelectedLinkChanged

TdxNavBarGroup See Also Concepts

Occurs immediately after a link has been selected within a group.

property OnSelectedLinkChanged: TNotifyEvent;

Description

Write an OnSelectedLinkChanged event handler to perform specific actions each time a link is selected within a group. Use the OptionsBehavior.SideBar.AllowSelectLinks and OptionsBehavior.SideBar.EachGroupHasSelectedLink properties to specify the control's behavior in relation to link selection.


TdxNavBarGroup.OnTopVisibleLinkChanged

TdxNavBarGroup See Also Concepts

Occurs after the top visible link has been changed within a group.

property OnTopVisibleLinkChanged: TNotifyEvent;

Description

Write an OnTopVisibleLinkChanged event handler to perform specific actions immediately after the top visible link has been changed within a group.

There are two things that will cause the event to fire:

  • An end-user clicks scroll buttons to scroll the group's client area when links don't fit inside it.

  • The group’s TopVisibleLinkIndex property value is changed via code.


TdxNavBarGroup.RemoveLink

TdxNavBarGroup See Also Concepts

Removes the link specified by its index from a group.

procedure RemoveLink(AIndex: Integer);

Description

Use the RemoveLink method to delete a link from a group. The deleted link is specified by its index passed as an AIndex parameter. Group links are zero-based indexed.


TdxNavBarGroup.SelectedLinkIndex

TdxNavBarGroup See Also Concepts

Specifies the index of a group's selected link.

property SelectedLinkIndex: Integer;

Description

The return value corresponds to the index of the TdxNavBarItemLink object within the Links collection of a group. Assign the index of an item to the SelectedLinkIndex property to select it. Setting the SelectedLinkIndex property to -1 or to a value greater than the last available link’s index deselects all links within this group.

Use the SelectedLink property to access the currently selected link.

Note: Links can only be selected when the following two conditions are met:

    • The AllowSelectLinks property is set to True.

    • The currently applied painting style (view) allows link selection.


TdxNavBarGroup.ShowAsIconView

TdxNavBarGroup See Also Concepts

Specifies whether links are displayed as a set of icons.

property ShowAsIconView: Boolean;

Description

If the ShowAsIconView property value is True, links are represented by their images (without captions) arranged in rows. Only Side Bar Views support this link layout.

The image below displays a TdxNavBar control whose second group's ShowAsIconView property is set to False and True respectively.


TdxNavBarGroup.ShowCaption

TdxNavBarGroup See Also

Specifies the group header’s visibility.

property ShowCaption: Boolean;

Description

The ShowCaption property is only in effect when an Explorer Bar View is assigned to the control. In this case, the property specifies the group header’s visibility. You can set it to False to hide the group header.

When the group header is invisible, end-users cannot toggle the group’s expanded state. Setting the group’s Expanded property to False hides the group’s content and the group becomes invisible – neither caption nor contents are displayed.

If you only need to stop end users from expanding/collapsing the group, set the group’s OptionsExpansion.Expandable property to False. In this case, the group header will be visible but will not respond to user clicks.

If a Side Bar View is assigned to the control, group captions are always visible regardless of the ShowCaption property value.

To hide captions of all groups at once regardless of the View applied, use the control’s ShowGroupCaptions property.

The default value of the ShowCaption property is True.


TdxNavBarGroup.ShowExpandButton

TdxNavBarGroup

Specifies whether a group header sign is displayed within the group header.

property ShowExpandButton: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the group’s OptionsExpansion.ShowExpandButton property instead.


TdxNavBarGroup.StyleBackground

TdxNavBarGroup

Specifies the background style of a group.

property StyleBackground: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the group’s CustomStyles.Background property instead.


TdxNavBarGroup.StyleControl

TdxNavBarGroup

Specifies the group’s embedded control style.

property StyleControl: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the group’s CustomStyles.Control property instead.


TdxNavBarGroup.StyleHeader

TdxNavBarGroup

Specifies the style of a group header.

property StyleHeader: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the group’s CustomStyles.Header property instead.


TdxNavBarGroup.StyleHeaderActive

TdxNavBarGroup

Specifies the style of the group header when the group is active.

property StyleHeaderActive: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the group’s CustomStyles.HeaderActive property instead.


TdxNavBarGroup.StyleHeaderActiveHotTracked

TdxNavBarGroup

Specifies the hot-tracked header style when the group is active.

property StyleHeaderActiveHotTracked: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the group’s CustomStyles.HeaderActiveHotTracked property instead.


TdxNavBarGroup.StyleHeaderActivePressed

TdxNavBarGroup

Specifies the header’s style when pressed while the group is active.

property StyleHeaderActivePressed: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the group’s CustomStyles.HeaderActivePressed property instead.


TdxNavBarGroup.StyleHeaderHotTracked

TdxNavBarGroup

Specifies the header style of a group when it is hot-tracked.

property StyleHeaderHotTracked: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the group’s CustomStyles.HeaderHotTracked property instead.


TdxNavBarGroup.StyleHeaderPressed

TdxNavBarGroup

Specifies the style of a group header when it is pressed.

property StyleHeaderPressed: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the group’s CustomStyles.HeaderPressed property instead.


TdxNavBarGroup.TopVisibleLinkIndex

TdxNavBarGroup Concepts

Specifies the index of the link displayed at the top of the current group.

property TopVisibleLinkIndex: Integer;

Description

Use the TopVisibleLinkIndex property to scroll a group's client area when links don't fit inside it (Side Bar Views only). In such an instance, the end user can also perform scrolling by clicking scroll buttons.

Assigning a negative value to the TopVisibleLinkIndex property makes the first link top visible. Assigning a value greater than the index of the last available link moves the last link to the top.

The image below displays a TdxNavBar control whose second group's TopVisibleLinkIndex property is set to 0 and 1 respectively.


TdxNavBarGroup.UseSmallImages

TdxNavBarGroup See Also Concepts

Specifies whether a large or small image is displayed within a group header.

property UseSmallImages: Boolean;

Description

Two images can be assigned to each group header. A small image can be assigned to a group header via the SmallImageIndex property. Large images are assigned via the LargeImageIndex property. The UseSmallImage property specifies which of the two images is displayed within a group header.

The image below displays a TdxNavBar control, whose second group's UseSmallImage property is set to False and True respectively.


TdxNavBarGroup.VisibleForCustomization

TdxNavBarGroup

Specifies whether end-users can change the current group’s visibility via the Navigation Pane's context menu.

property VisibleForCustomization: Boolean;

Description

The "Add or Remove Buttons" submenu in the context menu lists all the groups whose VisibleForCustomization property is set to True. To remove an item from this submenu, set a group’s VisibleForCustomization property to False. This prohibits end-users from changing the group’s visibility.

The default value of the VisibleForCustomization property is True.


TdxNavBarGroups.Add

TdxNavBarGroups See Also Concepts

Adds a new group to the end of the collection and returns the corresponding object.

function Add: TdxNavBarGroup;

Description

Use the Add method to add a new group to the NavBar control. Modify the properties of the returned object to control the appearance and behavior of the added group.

You can use the group’s CreateLink property to add links to your group.


TdxNavBarGroups.Items

TdxNavBarGroups See Also Concepts

Provides indexed access to groups within a collection.

property Items[Index: Integer]: TdxNavBarGroup;

Description

Use the Items property to access an individual group of the NavBar control by its index. The accessed group’s index is specified by the Index parameter. Groups are zero-based indexed. If the Index parameter value is negative or exceeds the maximum available index, an exception is raised. The last available group index is always one less than the Count property value.


TdxNavBarItem.Action

TdxNavBarItem

Designates the action associated with an item.

property Action: TBasicAction;

Description

The Action property designates the action object associated with a NavBar item. Action objects are used to centralize the response to user commands. When a NavBar control is associated with an action, the action determines the appropriate properties and events of the control (such as whether the NavBar control is enabled or visible).


TdxNavBarItem.Create

TdxNavBarItem See Also

Creates and initializes a new TdxNavBarItem object instance.

constructor Create(AOwner: TComponent); override;

Description

The Create method is used to create a new instance of the TdxNavBarItem object at runtime. This method calls the inherited constructor and initializes the TdxNavBarItem object’s properties to their default values. The AOwner parameter specifies the owner of the newly created item (typically, the TdxNavBar object).

If you create an item using this method, you should then add the newly created item to the NavBar’s Items collection. Use the item’s AddToCollection method for this purpose. But adding a new item to the NavBar using the Add method of the items collection is easier.


TdxNavBarItem.Destroy

TdxNavBarItem See Also

Destroys the TdxNavBarItem object.

destructor Destroy; override;

Description

The destructor is used to dispose of the TdxNavBarItem object and free any allocated memory.

Do not destroy TdxNavBarItem objects in applications. Instead, use the methods of the corresponding Items collection to delete an item.


TdxNavBarItem.Enabled

TdxNavBarItem

Specifies whether an item’s links respond to user actions.

property Enabled: Boolean;

Description

Set the Enabled property to False to disable all links referring to an item. Otherwise, these links are enabled.

The following image displays a NavBar control containing an item (My Pictures) whose Enabled property is set to True and False respectively. The links corresponding to this item are displayed as the second ones within each group.


TdxNavBarItem.Style

TdxNavBarItem

Specifies the style of an item when it is not pressed, hot-tracked or disabled.

property Style: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the item’s CustomStyles.Item property instead.


TdxNavBarItem.StyleDisabled

TdxNavBarItem

Specifies the style of an item when it is disabled.

property StyleDisabled: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the item’s CustomStyles.ItemDisabled property instead.


TdxNavBarItem.StyleHotTracked

TdxNavBarItem

Specifies the style of an item when the corresponding link is hot-tracked.

property StyleHotTracked: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the item’s CustomStyles.ItemHotTracked property instead.


TdxNavBarItem.StylePressed

TdxNavBarItem

Specifies the style of an item when the corresponding link is pressed.

property StylePressed: TdxNavBarStyleItem;

Description

This property is obsolete and used for compatibility purposes. Use the item’s CustomStyles.ItemPressed property instead.


TdxNavBarItemLink.Group

TdxNavBarItemLink See Also Concepts

Provides access to the object representing a group to which a link corresponds.

property Group: TdxNavBarGroup;

Description

Groups hold internal collections of links. These collections are represented by TdxNavBarItemLinks objects. Individual links can be accessed by the Links property of groups.

TdxNavBarItemLink objects refer to groups they belong to via the Group property.

ReadOnly Property


TdxNavBarItemLink.IsSelected

TdxNavBarItemLink See Also Concepts

Returns a value indicating whether a link is selected within a group.

function IsSelected: Boolean;

Description

End users can select links by mouse clicks. The IsSelected method allows you to find out if a link is selected within a group.

Please refer to the AllowSelectLinks and EachGroupHasSelectedLink property descriptions for details on specifying link selection restrictions.


TdxNavBarItemLink.Item

TdxNavBarItemLink See Also Concepts

Specifies the object representing an item to which a link corresponds.

property Item: TdxNavBarItem;

Description

The Item property represents an item object to which a link corresponds. Item objects are stored in the Items collection of the NavBar control.


TdxNavBarItemLinks.Add

TdxNavBarItemLinks See Also

Adds a link to the end of the collection.

function Add: TdxNavBarItemLink;

Description

The Add method is used internally by the CreateLink method of a group to add a new link to it.


TdxNavBarItemLinks.Create

TdxNavBarItemLinks See Also

Creates and initializes a new TdxNavBarItemLinks object instance.

constructor Create(AGroup: TdxNavBarGroup);

Description

The Create method is used to create a new instance of the TdxNavBarItemLinks object at runtime. Before calling the inherited constructor this method initializes the Group property by the value passed via the AGroup parameter. The AGroup parameter represents a group to which a link collection will belong after creation.

You do not need to use this method directly, since this object is created automatically when the Links property of a group is initialized.


TdxNavBarItemLinks.Group

TdxNavBarItemLinks See Also Concepts

Provides access to the object representing a group to which a link collection belongs.

property Group: TdxNavBarGroup;

Description

Link collections represented by TdxNavBarItemLinks objects are maintained internally by groups. The Group property of a TdxNavBarItemLinks object refers to the group holding a links collection.

ReadOnly Property


TdxNavBarItemLinks.Items

TdxNavBarItemLinks See Also

Provides indexed access to collection links.

property Items[Index: Integer]: TdxNavBarItemLink;

Description

The Items property is used internally by TdxNavBarGroup objects to access an individual link by its index. The index of the accessed link is specified by the Index parameter. Links are zero-based indexed. If the Index parameter value is negative or exceeds the maximum available index, an exception is raised.

You can gain indexed access to an individual link by using the Links property of a group.


TdxNavBarItems.Add

TdxNavBarItems See Also Concepts

Adds a new item to the end of the collection and returns the corresponding object.

Overloaded Variants

type

TdxNavBarItemClass = class of TdxNavBarItem;

function Add: TdxNavBarItem; overload;

function Add(AItemClass: TdxNavBarItemClass): TdxNavBarItem; overload;

Description

The second variant allows you to add a TdxNavBarItem descendant to the collection. The item’s class type is passed as the AItemClass parameter.

The object returned by the Add method can be passed as a parameter to the CreateLink method. This will create a link between a group and the newly created item. The desired group to contain this link can be accessed by the NavBar control’s Groups property. Alternatively, you can use the group’s component name.


TdxNavBarItems.Items

TdxNavBarItems See Also Concepts

Provides indexed access to individual items.

property Items[Index: Integer]: TdxNavBarItem;

Description

Use the Items property to access an individual item of the NavBar control by its index. The index of the accessed item is specified by the Index parameter. Items are zero-based indexed. If the Index parameter value is negative or exceeds the maximum available index, an exception is raised. The last available item index is always one less than the Count property value.


TdxNavBarCustomItem.Caption

TdxNavBarCustomItem Concepts

Specifies a collection item’s caption.

property Caption: string;

Description

Captions for NavBar groups are displayed within group headers.

Captions for NavBar items are displayed within the links that refer to these items.

Note that if a group’s ShowAsIconView property is set to True, the Caption property’s text is not displayed within the corresponding link. But note that Explorer Bar Views don't support this link layout.


TdxNavBarCustomItem.Hint

TdxNavBarCustomItem See Also Concepts

Specifies a collection item's hint text.

property Hint: string;

Description

Use this property to specify link and group hints.


TdxNavBarCustomItem.LargeImageIndex

TdxNavBarCustomItem See Also

Specifies a collection item’s large image.

property LargeImageIndex: Integer;

Description

The property value corresponds to an image index within the NavBar control’s OptionsImage.LargeImages, OptionsImage.HotLargeImages, and OptionsImage.DisabledLargeImages properties that provide large images for collection items in the normal, hot-tracked, and disabled states.

The default value of the LargeImageIndex property is –1.


TdxNavBarCustomItem.OnClick

TdxNavBarCustomItem Concepts

Occurs immediately after a group or link has been clicked.

property OnClick: TNotifyEvent;

Description

Handle this event to perform specific actions each time a group or a link, referring to an item, is clicked.

Note that the OnClicked event fires after a user releases the left mouse button. Handle the OnGroupPress and OnLinkPress events to perform specific actions each time a user presses a group or link within the NavBar control.


TdxNavBarCustomItem.SmallImageIndex

TdxNavBarCustomItem See Also

Specifies a collection item’s small image.

property SmallImageIndex: Integer;

Description

The property value corresponds to an image index within the NavBar control’s OptionsImage.SmallImages, OptionsImage.HotSmallImages, and OptionsImage.DisabledSmallImages properties that provide small images for collection items in the normal, hot-tracked, and disabled states.

The default value of the SmallImageIndex property is –1.


TdxNavBarCustomItem.Visible

TdxNavBarCustomItem Concepts

Specifies the visibility of a collection item.

property Visible: Boolean;

Description

For NavBar items, the Visible property controls the visibility of all links that correspond to the item. Set this property to True to make them visible within groups.


TdxNavBarCustomItems.Add

TdxNavBarCustomItems Concepts

Adds a new item to the end of the collection, and returns a reference to this item.

function Add: TdxNavBarCustomItem;


TdxNavBarCustomItems.ItemByCaption

TdxNavBarCustomItems Concepts

Searches the collection for an item with the specified caption.

function ItemByCaption(const ACaption: string): TdxNavBarCustomItem;

Description

This function returns the first item whose Caption property value equals the ACaption parameter value. If no item is found, nil is returned.


TdxNavBarCustomItems.Items

TdxNavBarCustomItems Concepts

Provides indexed access to items in the collection.

property Items[Index: Integer]: TdxNavBarCustomItem;

Description

Use this property to obtain a reference to an item at the position specified by the zero-based Index parameter.


TdxNavBarGroup.Align

TdxNavBarGroup

Specifies the current group's vertical alignment within Explorer Bar Views.

type

TcxTopBottom = vaTop..vaBottom;

property Align: TcxTopBottom;

Description

All the possible values are listed in the following table.

Value | Description | Example
vaTop | The group is aligned to the control’s top edge. |
vaBottom | The group is aligned to the control’s bottom edge. |

The default value of the Align property is vaTop.


TdxNavBarGroup.ClearLinks

TdxNavBarGroup

Clears the group’s link collection.

procedure ClearLinks;

Description

Use the ClearLinks method to delete all the links residing within the group. In other words, the method clears the collection returned by the group’s Links property.


TdxNavBarGroup.Control

TdxNavBarGroup See Also Concepts

Provides access to the control used as the container for custom controls within the current group.

property Control: TdxNavBarGroupControl;

Description

The NavBar control provides the ability to embed custom controls within the group’s client area. For this, the OptionsGroupControl.ShowControl property must be set to True. In this case, the group’s client area is filled by a TdxNavBarGroupControl control – a TCustomPanel descendant. This control provides all the functionality needed to use it as the container for other controls. Use the Control property to access it.

The Control property can be used for two purposes. The first is to customize the controls container. For instance, you may want to change its background color (which is actually the group’s client area background). The second purpose is for obtaining the control to assign it to the Parent property of other controls. This is required if you want to add controls to the group at runtime.

Note: the control available via the Control property is created when the OptionsGroupControl.UseControl property is set to True and destroyed when it set to False. Thus, if the OptionsGroupControl.UseControl property value is False, the Control property will return nil.

ReadOnly Property


TdxNavBarGroup.CustomStyles

TdxNavBarGroup See Also Concepts

Provides access to custom styles of the current group.

property CustomStyles: TdxNavBarGroupCustomStyles;

Description

Refer to the TdxNavBarGroupCustomStyles class description, to learn about available custom styles.


TdxNavBarGroup.OptionsExpansion

TdxNavBarGroup Concepts

Provides access to a set of options that allow you to change the expanded state of the current group, and customize its appearance in this state.

property OptionsExpansion: TdxNavBarGroupExpansionOptions;

Description

Refer to the TdxNavBarGroupExpansionOptions class description, to learn about available options.


TdxNavBarGroup.OptionsGroupControl

TdxNavBarGroup Concepts

Provides access to appearance and behavior options of the current group’s client area.

property OptionsGroupControl: TdxNavBarGroupControlOptions;

Description

Refer to the TdxNavBarGroupControlOptions class description, to learn about available options.


TdxNavBarGroup.RemoveLinks

TdxNavBarGroup

Removes the links corresponding to the specified item.

procedure RemoveLinks(AItem: TdxNavBarItem);

Description

The RemoveLinks method scans the links owned by the group and removes those that correspond to the specified item (specified by the AItem parameter).

Please refer to the Linking Groups and Items topic for details on creating links.


TdxNavBarGroup.SelectedLink

TdxNavBarGroup See Also Concepts

Provides access to a group’s selected link.

property SelectedLink: TdxNavBarItemLink;

Description

This property returns nil when no link is selected in the current group.

Use the SelectedLinkIndex property value to select a link and determine the index of the currently selected link.

Note: Links can only be selected when the following two conditions are met:

    • The AllowSelectLinks property is set to True.

    • The currently applied painting style (view) allows link selection.

ReadOnly Property


TdxNavBarGroup.ShowControl

TdxNavBarGroup

Specifies whether the group’s client area displays links or custom controls.

property ShowControl: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the group’s OptionsGroupControl.ShowControl property instead.


TdxNavBarGroup.UseControl

TdxNavBarGroup

Specifies whether custom controls can be embedded into the group’s client area.

property UseControl: Boolean;

Description

This property is obsolete and used for compatibility purposes. Use the group’s OptionsGroupControl.UseControl property instead.


TdxNavBarGroupControl.UseStyle

TdxNavBarGroupControl

Specifies whether the embedded group control uses the style settings provided by the NavBar control.

function UseStyle: Boolean;

Description

The NavBar control provides two alternatives to set the style of embedded group controls. First, you can set the default style used by all embedded group controls via the OptionsStyle.DefaultStyles.GroupControl property. Second, you can override these settings as needed by using the CustomStyles.Control property of an individual group. The style settings are only used by embedded group controls whose UseStyle property is set to True. Otherwise, embedded group controls use their own style settings.

The default value of the UseStyle property is False.


TdxNavBarItem.CustomStyles

TdxNavBarItem See Also Concepts

Provides access to custom styles of the current item.

property CustomStyles: TdxNavBarItemCustomStyles;

Description

Refer to the TdxNavBarItemCustomStyles class description, to learn about available custom styles.


TdxNavBarItem.RemoveAllLinks

TdxNavBarItem

Deletes all links corresponding to this item.

procedure RemoveAllLinks;

Description

You can create a number of links using the settings from a single item. There is no restriction on such links – you can place them in different groups or to the same group. Please refer to the Linking Groups and Items topic for details.

The RemoveAllLinks method scans all the groups and deletes the links that use the caller item’s settings. If you need to remove all the links corresponding to an item and residing within a particular group, use the group’s RemoveLinks method.


Events for TdxNavBarGroup

TdxNavBarGroup Events

TdxNavBarGroup Legend

In TdxNavBarGroup

OnCollapsed

OnExpanded

OnSelectedLinkChanged

OnTopVisibleLinkChanged

Derived from TdxNavBarCustomItem

OnClick


Events for TdxNavBarGroups

TdxNavBarGroups Events

TcxNavBarGroups Legend

Derived from TdxNavBarComponentCollection

OnChange


Events for TdxNavBarItem

TdxNavBarItem Events

TdxNavBarItem Legend

Derived from TdxNavBarCustomItem

OnClick


Events for TdxNavBarItems

TdxNavBarItems Events

TcxNavBarItems Legend

Derived from TdxNavBarComponentCollection

OnChange


Events for TdxNavBarCustomItem

TdxNavBarCustomItem Events

TdxNavBarCustomItem Legend

In TdxNavBarCustomItem

OnClick


Events for TdxNavBarCustomItems

TdxNavBarCustomItems Events

TdxNavBarCustomItems Legend

Derived from TdxNavBarComponentCollection

OnChange


Events for TdxNavBarGroupControl

TdxNavBarGroupControl Events

TdxNavBarGroupControl Legend

Derived from TCustomPanel

OnClick

OnContextPopup

OnDblClick

OnEnter

OnExit

OnMouseDown

OnMouseMove

OnMouseUp


Events for TdxNavBarSeparator

TdxNavBarSeparator Events

TdxNavBarSeparator Legend

Derived from TdxNavBarCustomItem

OnClick


Methods for TdxNavBarGroup

TdxNavBarGroup Methods

TdxNavBarGroup Legend

In TdxNavBarGroup

ClearLinks

Create

CreateLink

Destroy

FindLink

RemoveLink

RemoveLinks

Derived from TdxNavBarComponentCollectionItem

GetParentComponent

HasParent

Derived from TcxComponentCollectionItem

AddToCollection

RemoveFromCollection


Methods for TdxNavBarGroups

TdxNavBarGroups Methods

TdxNavBarGroups Legend

In TdxNavBarGroups

Add

Derived from TdxNavBarCustomItems

Add

ItemByCaption

Derived from TdxNavBarComponentCollection

Assign

Clear

Create

Delete

Destroy

IndexOf

ItemByName

Remove


Methods for TdxNavBarItem

TcxNavBarItem Methods

TdxNavBarItem Legend

In TdxNavBarItem

Create

Destroy

RemoveAllLinks

Derived from TdxNavBarComponentCollectionItem

GetParentComponent

HasParent

Derived from TcxComponentCollectionItem

AddToCollection

RemoveFromCollection


Methods for TdxNavBarItemLink

TdxNavBarItemLink Methods

TdxNavBarItemLink Legend

In TdxNavBarItemLink

IsSelected


Methods for TdxNavBarItemLinks

TdxNavBarItemLinks Methods

TdxNavBarItemLinks Legend

In TdxNavBarItemLinks

Add

Create


Methods for TdxNavBarItems

TcxNavBarItems Methods

TdxNavBarItems Legend

In TdxNavBarItems

Add

Derived from TdxNavBarCustomItems

Add

ItemByCaption

Derived from TdxNavBarComponentCollection

Assign

Clear

Create

Delete

Destroy

IndexOf

ItemByName

Remove


Methods for TdxNavBarCustomItem

TdxNavBarCustomItem Methods

TdxNavBarCustomItem Legend

Derived from TdxNavBarComponentCollectionItem

GetParentComponent

HasParent

Derived from TcxComponentCollectionItem

AddToCollection

RemoveFromCollection


Methods for TdxNavBarCustomItems

TdxNavBarCustomItems Methods

TdxNavBarCustomItems Legend

In TdxNavBarCustomItems

Add

ItemByCaption

Derived from TdxNavBarComponentCollection

Assign

Clear

Create

Delete

Destroy

IndexOf

ItemByName

Remove


Methods for TdxNavBarSeparator

TdxNavBarSeparator Methods

TdxNavBarSeparator Legend

Derived from TdxNavBarItem

Create

Destroy

RemoveAllLinks

Derived from TdxNavBarComponentCollectionItem

GetParentComponent

HasParent

Derived from TcxComponentCollectionItem

AddToCollection

RemoveFromCollection


Properties for TdxNavBarGroup

TdxNavBarGroup Properties

TdxNavBarGroup Legend

In TdxNavBarGroup

Align

Control

CustomStyles

Expandable

Expanded

LinkCount

Links

LinksUseSmallImages

OptionsExpansion

OptionsGroupControl

SelectedLink

SelectedLinkIndex

ShowAsIconView

ShowCaption

ShowControl

ShowExpandButton

StyleBackground

StyleControl

StyleHeader

StyleHeaderActive

StyleHeaderActiveHotTracked

StyleHeaderActivePressed

StyleHeaderHotTracked

StyleHeaderPressed

TopVisibleLinkIndex

UseControl

UseSmallImages

VisibleForCustomization

Derived from TdxNavBarCustomItem

Caption

Hint

LargeImageIndex

SmallImageIndex

Visible

Derived from TdxNavBarComponentCollectionItem

Collection

CollectionOwner

Derived from TcxComponentCollectionItem

ID

Index


Properties for TdxNavBarGroups

TdxNavBarGroups Properties

TdxNavBarGroups Legend

In TdxNavBarGroups

Items

Derived from TdxNavBarCustomItems

Items

Derived from TdxNavBarComponentCollection

Count

Owner


Properties for TdxNavBarItem

TdxNavBarItem Properties

TdxNavBarItem Legend

In TdxNavBarItem

Action

CustomStyles

Enabled

Style

StyleDisabled

StyleHotTracked

StylePressed

Derived from TdxNavBarCustomItem

Caption

Hint

LargeImageIndex

SmallImageIndex

Visible

Derived from TdxNavBarComponentCollectionItem

Collection

CollectionOwner

Derived from TcxComponentCollectionItem

ID

Index


Properties for TdxNavBarItemLink

TcxNavBarItemLink Properties

TdxNavBarItemLink Legend

In TdxNavBarItemLink

Group

Item


Properties for TdxNavBarItemLinks

TdxNavBarItemLinks Properties

TcxNavBarItemLinks Legend

In TdxNavBarItemLinks

Group

Items


Properties for TdxNavBarItems

TcxNavBarItems Properties

TdxNavBarItems Legend

In TdxNavBarItems

Items

Derived from TdxNavBarCustomItems

Items

Derived from TdxNavBarComponentCollection

Count

Owner


Properties for TdxNavBarCustomItem

TdxNavBarCustomItem Properties

TdxNavBarCustomItem Legend

In TdxNavBarCustomItem

Caption

Hint

LargeImageIndex

SmallImageIndex

Visible

Derived from TdxNavBarComponentCollectionItem

Collection

CollectionOwner

Derived from TcxComponentCollectionItem

ID

Index


Properties for TdxNavBarCustomItems

TdxNavBarCustomItems Properties

TdxNavBarCustomItems Legend

In TdxNavBarCustomItems

Items

Derived from TdxNavBarComponentCollection

Count

Owner


Properties for TdxNavBarGroupControl

TdxNavBarGroupControl Properties

TdxNavBarGroupControl Legend

In TdxNavBarGroupControl

UseStyle

Derived from TCustomPanel

Alignment

BiDiMode

Caption

Color

Font

ParentBiDiMode

ParentColor

ParentFont

ParentShowHint

PopupMenu

ShowHint

TabOrder

TabStop


Properties for TdxNavBarSeparator

TdxNavBarSeparator Properties

TdxNavBarSeparator Legend

Derived from TdxNavBarItem

Action

CustomStyles

Enabled

Style

StyleDisabled

StyleHotTracked

StylePressed

Derived from TdxNavBarCustomItem

Caption

Hint

LargeImageIndex

SmallImageIndex

Visible

Derived from TdxNavBarComponentCollectionItem

Collection

CollectionOwner

Derived from TcxComponentCollectionItem

ID

Index


TdxNavBarGroup Hierarchy

Hierarchy

TComponent

|

TcxComponentCollectionItem

|

TdxNavBarComponentCollectionItem

|

TdxNavBarCustomItem

|

TdxNavBarGroup


TdxNavBarGroups Hierarchy

Hierarchy

TPersistent

|

TdxNavBarComponentCollection

|

TdxNavBarCustomItems

|

TdxNavBarGroups


TdxNavBarItem Hierarchy

Hierarchy

TComponent

|

TcxComponentCollectionItem

|

TdxNavBarComponentCollectionItem

|

TdxNavBarCustomItem

|

TdxNavBarItem


TdxNavBarItemLink Hierarchy

Hierarchy

TCollectionItem

|

TdxNavBarItemLink


TdxNavBarItemLinks Hierarchy

Hierarchy

TCollection

|

TdxNavBarItemLinks


TdxNavBarItems Hierarchy

Hierarchy

TPersistent

|

TdxNavBarComponentCollection

|

TdxNavBarCustomItems

|

TdxNavBarItems


TdxNavBarCustomItem Hierarchy

Hierarchy

TComponent

|

TcxComponentCollectionItem

|

TdxNavBarComponentCollectionItem

|

TdxNavBarCustomItem


TdxNavBarCustomItems Hierarchy

Hierarchy

TPersistent

|

TdxNavBarComponentCollection

|

TdxNavBarCustomItems


TdxNavBarGroupControl Hierarchy

Hierarchy

TCustomPanel

|

TdxNavBarGroupControl


TdxNavBarSeparator Hierarchy

Hierarchy

TComponent

|

TdxNavBarComponentCollectionItem

|

TdxNavBarCustomItem

|

TdxNavBarItem

|

TdxNavBarSeparator


TdxNavBarStyleOptions

TdxNavBarStyleOptions Object

Hierarchy Properties Events

Represents a set of styles that control the appearance of NavBar elements.

Unit

dxNavBarStyles

TdxNavBarStyleOptions = class(TcxOwnedPersistent)

Description

This class introduces the following properties:

  • DefaultStyles and CustomStyles – allow you to specify default and custom styles for NavBar elements.

  • CustomStyleRepository – allows you to access a style repository, which contains all custom styles defined within NavBar controls residing on a form.

The TdxNavBarStyleOptions object is referenced by the NavBar control’s OptionsStyle property.


TdxNavBarDefaultStyles.Background

TdxNavBarDefaultStyles See Also Concepts

Specifies the style of the NavBar control’s client area.

property Background: TdxNavBarDefaultStyle;

Description

Use the Background property to access the background style settings of the NavBar control's client area.

Note: Each View has its own default settings for default styles. So, when changing the View applied to your control, the Background property value is automatically set to the default background style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the NavBar control's background. For this purpose, assign the style object represented by the custom style’s Style property to the Background property.


TdxNavBarDefaultStyles.Button

TdxNavBarDefaultStyles See Also Concepts

Specifies the style of a button element within a NavBar control.

property Button: TdxNavBarDefaultStyle;

Description

Use the Button property to access the default style settings of NavBar button elements. Button elements are represented by the scroll buttons used to scroll a group's client area when links don't fit inside it.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the Button property value is automatically set to the default scroll buttons’ style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the NavBar control's button elements. For this purpose, assign the style object represented by the custom style’s Style property to the Button property.


TdxNavBarDefaultStyles.ButtonHotTracked

TdxNavBarDefaultStyles See Also Concepts

Specifies the style of a button element when it is hot-tracked.

property ButtonHotTracked: TdxNavBarDefaultStyle;

Description

Use the ButtonHotTracked property to access the default style settings of hot-tracked NavBar button element. Button elements are represented by the scroll buttons used to scroll a group's client area when links don't fit inside it. Scroll buttons are available in Side Bar Views only.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the ButtonHotTracked property value is automatically set to the default hot-tracked scroll buttons’ style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of a button element when the mouse cursor is over it. For this purpose, assign the style object represented by the custom style’s Style property to the ButtonHotTracked property.


TdxNavBarDefaultStyles.ButtonPressed

TdxNavBarDefaultStyles See Also Concepts

Specifies the style of a button element when it is pressed.

property ButtonPressed: TdxNavBarDefaultStyle;

Description

Use the ButtonPressed property to access the default style settings of the pressed NavBar button element. Button elements are represented by the scroll buttons used to scroll a group's client area when links don't fit inside it. Scroll buttons are available in Side Bar Views only.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the ButtonPressed property value is automatically set to the default pressed scroll buttons’ style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the pressed button element. For this purpose, assign the style object represented by the custom style’s Style property to the ButtonPressed property.


TdxNavBarDefaultStyles.Create

TdxNavBarDefaultStyles See Also

Creates and initializes a new TdxNavBarDefaultStyles object instance.

constructor Create(AOwner: TPersistent); virtual;

Description

The Create method is used to create a new instance of the TdxNavBarDefaultStyles object at runtime. This method creates a new instance of the TdxNavBarBaseStyle style object for each NavBar element represented by the TdxNavBarDefaultStyles published properties.

The AOwner parameter represents the owner of the newly created TdxNavBarDefaultStyles object (typically, the NavBar control).

You do not need to use this method directly since this object is created automatically when a NavBar control instance is created.


TdxNavBarDefaultStyles.Destroy

TdxNavBarDefaultStyles See Also

Destroys a TdxNavBarDefaultStyles object instance.

destructor Destroy; override;

Description

The Destroy method is used to destroy an instance of the TdxNavBarDefaultStyles object and release any allocated memory. Before calling the inherited destructor this method frees all the style objects represented by the published properties of the TdxNavBarDefaultStyles object.

Do not use the Destroy method directly since this object is freed automatically when a NavBar control instance is destroyed.


TdxNavBarDefaultStyles.DropTargetGroup

TdxNavBarDefaultStyles See Also Concepts

Specifies the header style of the group located under the mouse pointer when dragging another group.

property DropTargetGroup: TdxNavBarDefaultStyle;

Description

When dragging a group, highlighting the header of the target group indicates its new position. You can use the DropTargetGroup property to access the style settings of the target group header. As implemented in the NavBar control, you can change the background color of such group headers.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the DropTargetGroup property value is automatically set to the default target group header style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the target group header. For this purpose, assign the style object represented by the custom style’s Style property to the DropTargetGroup property.


TdxNavBarDefaultStyles.DropTargetLink

TdxNavBarDefaultStyles See Also Concepts

Specifies the style of the drop line indicating the new position of the link being dragged.

property DropTargetLink: TdxNavBarDefaultStyle;

Description

When dragging a link, its new position is indicated by a specific line. You can use the DropTargetLink property to access the style settings of this line. As implemented in the NavBar control, you can change the target line color. Ensure that the new color differs from the group’s background color (specified by the BackColor property), otherwise the line will be invisible.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the DropTargetLink property value is automatically set to the default drop line style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the link target line. For this purpose, assign the style object represented by the custom style’s Style property to the DropTargetLink property.


TdxNavBarDefaultStyles.GroupBackground

TdxNavBarDefaultStyles See Also Concepts

Specifies the style of the groups’ client area.

property GroupBackground: TdxNavBarDefaultStyle;

Description

Use the GroupBackground property to access the default background style settings of the groups’ client area.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the DropTargetLink property value is automatically set to the default groups background style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of a group's background. For this purpose, assign the style object represented by the custom style’s Style property to the GroupBackground property.


TdxNavBarDefaultStyles.GroupHeader

TdxNavBarDefaultStyles See Also Concepts

Specifies the header style of groups.

property GroupHeader: TdxNavBarDefaultStyle;

Description

Use the GroupHeader property to access the default style settings of group headers when they are not hot-tracked or pressed and do not belong to the active group.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the GroupHeader property value is automatically set to the default group headers’ style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of a group header. For this purpose, assign the style object represented by the custom style’s Style property to the GroupHeader property.


TdxNavBarDefaultStyles.GroupHeaderActive

TdxNavBarDefaultStyles See Also Concepts

Specifies the style of the active group’s header.

property GroupHeaderActive: TdxNavBarDefaultStyle;

Description

Use the GroupHeaderActive property to access the default style settings of the active group‘s header when it is not hot-tracked or pressed.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the GroupHeaderActive property value is automatically set to the default active group header style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the header of the active group. For this purpose, assign the style object represented by the custom style’s Style property to the ActiveGroupHeader property.


TdxNavBarDefaultStyles.GroupHeaderHotTracked

TdxNavBarDefaultStyles See Also Concepts

Specifies the style settings of a group header when it is hot-tracked.

property GroupHeaderHotTracked: TdxNavBarDefaultStyle;

Description

Use the GroupHeaderHotTracked property to access the default style settings of a group header when it is hot-tracked.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the GroupHeaderHotTracked property value is automatically set to the default hot-tracked group header style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the hot-tracked group header. For this purpose, assign the style object represented by the custom style’s Style property to the GroupHeaderHotTracked property.


TdxNavBarDefaultStyles.GroupHeaderPressed

TdxNavBarDefaultStyles See Also Concepts

Specifies the style settings of a group header when it is pressed.

property GroupHeaderPressed: TdxNavBarDefaultStyle;

Description

Use the GroupHeaderPressed property to access the default style settings of a group header when it is pressed.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the GroupHeaderPressed property value is automatically set to the default pressed group header style specified by the newly assigned View.

You can also use settings of a custom style (if any) to specify the appearance of the pressed group header. For this purpose, assign the style object represented by the custom style’s Style property to the GroupHeaderPressed property.


TdxNavBarDefaultStyles.Hint

TdxNavBarDefaultStyles Concepts

Specifies the style settings of hints.

property Hint: TdxNavBarDefaultStyle;

Description

Use the Hint property to access the default style settings of the hint window displayed for a group header or a link.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the Hint property value is automatically set to the default hint style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the hint window. For this purpose, assign the style object represented by the custom style’s Style property to the Hint property.


TdxNavBarDefaultStyles.Item

TdxNavBarDefaultStyles See Also Concepts

Specifies the style settings of items.

property Item: TdxNavBarDefaultStyle;

Description

Use the Item property to access the default style settings for links when they are not hot-tracked, pressed or disabled.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the Item property value is automatically set to the default link style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of an item. For this purpose, assign the style object represented by the custom style’s Style property to the Item property.


TdxNavBarDefaultStyles.ItemDisabled

TdxNavBarDefaultStyles See Also Concepts

Specifies the style settings of disabled items.

property ItemDisabled: TdxNavBarDefaultStyle;

Description

Use the ItemDisabled property to access the default style settings for disabled links.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the ItemDisabled property value is automatically set to the default disabled link style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of a disabled item. For this purpose, assign the style object represented by the custom style’s Style property to the ItemDisabled property.


TdxNavBarDefaultStyles.ItemHotTracked

TdxNavBarDefaultStyles See Also Concepts

Specifies the style settings of an item when it is hot-tracked.

property ItemHotTracked: TdxNavBarDefaultStyle;

Description

Use the ItemHotTracked property to access the default style settings for hot-tracked links.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the ItemHotTracked property value is automatically set to the default hot-tracked link style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the hot-tracked item. For this purpose, assign the style object represented by the custom style’s Style property to the ItemHotTracked property.


TdxNavBarDefaultStyles.ItemPressed

TdxNavBarDefaultStyles See Also Concepts

Specifies the style settings of an item when it is pressed.

property ItemPressed: TdxNavBarDefaultStyle;

Description

Use the ItemPressed property to access the default style settings for pressed links.

Note: Each View has its own default settings for default styles. That is why when changing the View applied to the control, the ItemPressed property value is automatically set to the default pressed link style specified by the newly assigned View.

You can also use the settings of a custom style (if any) to specify the appearance of the pressed item. For this purpose, assign the style object represented by the custom style’s Style property to the ItemPressed property.


TdxNavBarDefaultStyles.OnChange

TdxNavBarDefaultStyles

Occurs when changes are applied to default styles.

type

TdxNavBarChangeType = (doRecreate, doRecalc, doRedraw);

TdxNavBarChangeEvent = procedure(Sender: TObject; AType: TdxNavBarChangeType) of object;

property OnChange: TdxNavBarChangeEvent;

This event is for internal use only.


TdxNavBarStyleItem.Create

TdxNavBarStyleItem See Also

Creates and initializes a new instance of the custom style item.

constructor Create(AOwner: TComponent); override;

Description

The Create method is used to create a new instance of the TdxNavBarStyleItem object at runtime. After calling the inherited constructor, this method creates a new instance of the TdxNavBarStyle object and assigns it to the Style property.

The AOwner parameter represents the owner of the newly created custom style item.

The newly created style item can be added to the OptionsStyle.CustomStyleRepository collection by using its AddToCollection method or the collection’s Add method.


TdxNavBarStyleItem.Destroy

TdxNavBarStyleItem See Also

Destroys a TdxNavBarStyleItem object instance.

destructor Destroy; override;

Description

The Destroy method is used to destroy an instance of the TdxNavBarStyleItem object at runtime and to release any allocated memory. Before calling the inherited destructor, this method frees the Style property.

A style item can be removed from the OptionsStyle.CustomStyleRepository collection by using its RemoveFromCollection method or the collection’s Delete and Remove methods.


TdxNavBarStyleItem.Style

TdxNavBarStyleItem Concepts

Specifies the style settings for a custom style item.

property Style: TdxNavBarStyle;

Description

Use the Style property to access the style settings of a custom created style item. This property refers to the object of the TdxNavBarStyle type used to contain the style settings both for custom styles and default styles of the NavBar control. The properties provided by the TdxNavBarStyle object specifies the background color, alpha blending and gradient modes, font settings, horizontal and vertical alignment, etc.


TdxNavBarBaseCustomStyles.OnChange

TdxNavBarBaseCustomStyles

Occurs when changes are applied to custom styles within the Styles collection.

type

TdxNavBarChangeType = (doRecreate, doRecalc, doRedraw);

TdxNavBarChangeEvent = procedure(Sender: TObject; AType: TdxNavBarChangeType) of object;

property OnChange: TNotifyEvent;

This event is for internal use only.


TdxNavBarBaseCustomStyles.Styles

TdxNavBarBaseCustomStyles

Provides zero-based indexed access to custom styles.

property Styles[Index: Integer]: TdxNavBarStyleItem;


TdxNavBarBaseStyle.AlphaBlending

TdxNavBarBaseStyle See Also Concepts

Specifies the alpha channel of an element’s starting background color.

property AlphaBlending: Byte;

Description

Set the AlphaBlending property to a value between 0 and 255 to set the alpha channel of the color specified by the BackColor property. A value of 0 indicates a completely transparent background color. A value of 255 indicates complete opacity.

The default value of the AlphaBlending property is 255.


TdxNavBarBaseStyle.AlphaBlending2

TdxNavBarBaseStyle See Also Concepts

Specifies the alpha channel of an element’s ending background color.

property AlphaBlending2: Byte;

Description

Set the AlphaBlending2 property to a value between 0 and 255 to set the alpha channel of the color specified by the BackColor2 property. A value of 0 indicates a completely transparent background color. A value of 255 indicates complete opacity.

If the AlphaBlending2 property value differs from the AlphaBlending property, the associated element's background translucency is supposed to be not uniform. In such an instance, the starting and ending degree values of the translucency are specified by the AlphaBlending and AlphaBlending2 properties.

The default value of the AlphaBlending2 property is 255.


TdxNavBarBaseStyle.Assign

TdxNavBarBaseStyle

Assigns the settings of one style object to another.

procedure Assign(Source: TPersistent); override;

Description

The Assign method is used to copy the settings of one style instance to another. The Source parameter represents the source object. The caller is a destination object.


TdxNavBarBaseStyle.AssignedValues

TdxNavBarBaseStyle

Contains a set of values specifying which properties are used for NavBar drawing.

type

TdxBarStyleAssignedValue = (savAlphaBlending, savAlphaBlending2, savBackColor, savBackColor2, savFont, savGradientMode, savHAlignment, savVAlignment, savImage);

TdxBarStyleAssignedValues = set of TdxBarStyleAssignedValue;

property AssignedValues: TdxBarStyleAssignedValues;

Description

The TdxNavBarBaseStyle class contains the properties specifying the style of a particular NavBar element. The AssignedValues property contains a set of values identifying the properties whose values are taken into account when painting the control. The TdxBarStyleAssignedValue enumerator specifies the values that can be included in the set.

The following table lists values available for the TdxBarStyleAssignedValue type.

Value

Description

savAlphaBlending

The AlphaBlending property value takes part in NavBar drawing.

savAlphaBlending2

The AlphaBlending2 property value takes part in NavBar drawing.

savBackColor

The BackColor property value takes part in NavBar drawing.

savBackColor2

The BackColor2 property value takes part in NavBar drawing.

savFont

The Font property value takes part in NavBar drawing.

savGradientMode

The GradientMode property value takes part in NavBar drawing.

savHAlignment

The HAlignment property value takes part in NavBar drawing.

savVAlignment

The VAlignment property value takes part in NavBar drawing.

savImage

The Image property value takes part in NavBar drawing.

The default value of the AssignedValues property is [].


TdxNavBarBaseStyle.BackColor

TdxNavBarBaseStyle See Also Concepts

Specifies the starting color of the linear gradient brush used to fill an element’s background.

property BackColor: TColor;

Description

NavBar elements can be painted using the linear gradient filling. Use the BackColor property to specify the starting color of the linear gradient.


TdxNavBarBaseStyle.BackColor2

TdxNavBarBaseStyle See Also Concepts

Specifies the ending color of the linear gradient brush used to fill an element’s background.

property BackColor2: TColor;

Description

If the BackColor2 property is set to the same value as the BackColor property, the associated element's background is supposed to be filled with a solid brush. In this case, these properties specify the color of the brush.

If the BackColor2 property value differs from the BackColor property, the associated element's background is supposed to be filled with a linear gradient brush. In such an instance, the starting and ending colors of the brush are specified by the BackColor and BackColor2 properties.


TdxNavBarBaseStyle.Create

TdxNavBarBaseStyle See Also

Creates and initializes a new TdxNavBarBaseStyle object instance.

constructor Create(AOwner: TPersistent);

Description

The Create method is used to create a new instance of the TdxNavBarBaseStyle object at runtime. This constructor initializes all properties of the TdxNavBarBaseStyle object with their default values. The AOwner parameter represents the owner of the newly created style object.

You do not need to use this method directly, since instances of the TdxNavBarBaseStyle object are created automatically along with the corresponding default or custom styles.


TdxNavBarBaseStyle.Destroy

TdxNavBarBaseStyle See Also

Destroys a TdxNavBarBaseStyle object instance.

destructor Destroy; override;

Description

The Destroy method destroys the instance of the TdxNavBarBaseStyle object and frees any allocated memory. Before calling the inherited destructor this method frees the Image and Font properties.


TdxNavBarBaseStyle.Font

TdxNavBarBaseStyle Concepts

Specifies the font for an element’s contents.

property Font: TFont;

Description

Use the Font property to adjust the style’s font settings.


TdxNavBarBaseStyle.GradientMode

TdxNavBarBaseStyle See Also Concepts

Specifies the direction for the linear gradient brush used to fill an element’s background.

type

TdxBarStyleGradientMode = (gmHorizontal, gmVertical, gmForwardDiagonal, gmBackwardDiagonal);

property GradientMode: TdxBarStyleGradientMode;

Description

If both the BackColor and BackColor2 properties are set, the elements using this style are supposed to draw their background with a linear gradient brush. Use the GradientMode property to specify the direction for this brush.

The direction for the linear gradient brush is specified by the TdxBarStyleGradientMode enumerator. The following table represents available values of this enumerator.

Value

Description

gmHorizontal

The direction of the linear gradient brush is horizontal.

gmVertical

The direction of the linear gradient brush is vertical.

gmForwardDiagonal

The direction of the linear gradient brush is diagonal starting from the top left corner.

gmBackwardDiagonal

The direction of the linear gradient brush is diagonal starting from the top right corner.


TdxNavBarBaseStyle.HAlignment

TdxNavBarBaseStyle See Also Concepts

Specifies the horizontal alignment of an element’s contents.

property HAlignment: TdxBarStyleHAlignment;

Description

Use this property to customize the horizontal position of an element’s contents.


TdxNavBarBaseStyle.Image

TdxNavBarBaseStyle See Also Concepts

Specifies the background image applied to the element that uses this style.

property Image: TPicture;

Description

Use this property to assign a background image to the element that uses the current style. The background image is commonly used in combination with the alpha blending feature (see the AlphaBlending and AlphaBlending2 properties).


TdxNavBarBaseStyle.OnChange

TdxNavBarBaseStyle

Occurs when changes are applied to style properties.

type

TdxNavBarChangeType = (doRecreate, doRecalc, doRedraw);

TdxNavBarChangeEvent = procedure(Sender: TObject; AType: TdxNavBarChangeType) of object;

property OnChange: TdxNavBarChangeEvent;

This event is for internal use only.


TdxNavBarBaseStyle.VAlignment

TdxNavBarBaseStyle See Also Concepts

Specifies the vertical alignment of an element’s contents.

property VAlignment: TdxBarStyleVAlignment;

Description

Use this property to customize the vertical position of an element’s contents.


TdxNavBarCustomStyles.Background

TdxNavBarCustomStyles See Also Concepts

Specifies a custom style applied to the NavBar control’s client area.

property Background: TdxNavBarStyleItem;

Description

You need to create a custom style to initialize this property at design time.


TdxNavBarCustomStyles.Button

TdxNavBarCustomStyles See Also Concepts

Specifies a custom style applied to scroll buttons.

property Button: TdxNavBarStyleItem;

Description

You need to create a custom style to initialize this property at design time.


TdxNavBarCustomStyles.ButtonHotTracked

TdxNavBarCustomStyles See Also Concepts

Specifies a custom style applied to scroll buttons when the mouse pointer is over them.

property ButtonHotTracked: TdxNavBarStyleItem;

Description

The pictures below show the scroll button in normal and hot-tracked states, when the hot-tracked style of scroll buttons is modified.

You need to create a custom style to initialize the ButtonHotTracked property at design time.


TdxNavBarCustomStyles.ButtonPressed

TdxNavBarCustomStyles See Also Concepts

Specifies a custom style applied to scroll buttons when users press them.

property ButtonPressed: TdxNavBarStyleItem;

Description

The picture below shows hovered and pressed scroll buttons.

You need to create a custom style to initialize the ButtonPressed property at design time.


TdxNavBarCustomStyles.DropTargetGroup

TdxNavBarCustomStyles See Also Concepts

Specifies a custom style applied to target groups being dragged over.

property DropTargetGroup: TdxNavBarStyleItem;

Description

You need to create a custom style to initialize this property at design time.


TdxNavBarCustomStyles.DropTargetLink

TdxNavBarCustomStyles See Also Concepts

Specifies a custom style applied to the line indicating the target position of the dragged link.

property DropTargetLink: TdxNavBarStyleItem;

Description

You need to create a custom style to initialize this property at design time.


TdxNavBarCustomStyles.Hint

TdxNavBarCustomStyles Concepts

Specifies a custom style applied to hints displayed for group headers and links.

property Hint: TdxNavBarStyleItem;

Description

The image below displays a hint with a custom style applied.

You need to create a custom style to initialize the Hint property at design time.


TdxNavBarCustomStyles.NavigationPaneHeader

TdxNavBarCustomStyles See Also Concepts

Specifies a custom style applied to the header section and splitter in Navigation Pane Views.

property NavigationPaneHeader: TdxNavBarStyleItem;

Description

You need to create a custom style to initialize the Hint property at design time.


TdxNavBarDefaultStyle.Collection

TdxNavBarDefaultStyle

Returns the object owning this default style.

property Collection: TdxNavBarDefaultStyles ;

Description

Default styles are available via the control’s OptionsStyle.DefaultStyles property (a TdxNavBarDefaultStyles object). This object’s properties specify the individual default styles and these are TdxNavBarDefaultStyle instances. TdxNavBarDefaultStyle objects give you the ability to access their owning TdxNavBarDefaultStyles objects via the Collection property.

ReadOnly Property


TdxNavBarDefaultStyle.DefaultValues

TdxNavBarDefaultStyle

Specifies whether this style’s settings are the default.

property DefaultValues: Boolean;

Description

When a TdxNavBarDefaultStyle object is created and initialized to represent a default style, the DefaultValues property is set to True. Once a style property is modified, the DefaultValues property is set to False. After modifications, the default style settings can be restored using the control’s AssignDefaultStyles method. This sets the DefaultValues property back to True.

The DefaultValues property is used internally to determine whether style settings should be stored within the DFM file. If this property value is False, settings are stored. Note: you have no need to access this property in applications.


TdxNavBarDefaultStyles.BeginUpdate

TdxNavBarDefaultStyles

Prevents the NavBar control from being repainted until the EndUpdate method is called.

procedure BeginUpdate;

Description

After this method is called, changes of the default style property value do not result in the raising of the OnChange event. The BeginUpdate method is used in conjunction with the EndUpdate method. When the BeginUpdate method is called, the internal counter is incremented by one. (The counter value is initially zero). When the EndUpdate method is called, the counter is decremented. The NavBar control can recalculate its View information only if the counter value is 0. (Recalculation of the control's View information leads to its repainting).

Use this pair of methods to avoid multiple recalculations when performing a number of sequential changes to the default style properties. For instance, you may wish to change the background colors of the GroupHeader and GroupBackground default styles. If the code performing these changes is not enclosed within the BeginUpdate and EndUpdate method calls, the control will be repainted twice. Otherwise, only a single repainting will be performed.


TdxNavBarDefaultStyles.DefaultStyleCount

TdxNavBarDefaultStyles Concepts

Gets the number of default styles in the NavBar control.

property DefaultStyleCount: Integer;

Description

To access a particular style, use the DefaultStyles zero-based indexed collection.

ReadOnly Property


TdxNavBarDefaultStyles.DefaultStyles

TdxNavBarDefaultStyles Concepts

Provides indexed access to default styles of a NavBar control.

property DefaultStyles[Index: Integer]: TdxNavBarDefaultStyle;

Description

Use the DefaultStyleCount property to get the number of default styles within this collection.

ReadOnly Property


TdxNavBarDefaultStyles.EndUpdate

TdxNavBarDefaultStyles

Allows the OnChange event to occur.

procedure EndUpdate;

Description

The EndUpdate method is used in conjunction with the BeginUpdate method. When the BeginUpdate method is called, the internal counter is incremented by one. (The counter value is initially zero). When the EndUpdate method is called, the counter is decremented. The NavBar control can recalculate its View information only if the counter value is 0. (Recalculation of the control's View information leads to its repainting).

Use this pair of methods to avoid multiple recalculations when performing a number of sequential changes to the default style properties. For instance, you may wish to change the background colors of the GroupHeader and GroupBackground default styles. If the code performing these changes is not enclosed within the BeginUpdate and EndUdpate method calls, the control will be repainted twice. Otherwise, only a single repainting will be performed.


TdxNavBarDefaultStyles.GroupControl

TdxNavBarDefaultStyles See Also

Specifies the default style of embedded group controls.

property GroupControl: TdxNavBarDefaultStyle ;

Description

Use the GroupControl property to change the default style applied to embedded group controls. Note that this style will only be used by controls whose UseStyle property value is True. You can override the default settings for each individual group control using the desired group’s CustomStyles.Control property.

Note: Each View has its own default style settings. Thus, changing the View results in changing the default style of group controls.


TdxNavBarDefaultStyles.GroupHeaderActiveHotTracked

TdxNavBarDefaultStyles

Specifies the default style settings of the active group’s hot-tracked header.

property GroupHeaderActiveHotTracked: TdxNavBarDefaultStyle ;

Description

Use the GroupHeaderActiveHotTracked property to access the default style settings of an active group’s header when it is hot-tracked. Each individual group can override these settings using its CustomStyles.HeaderActiveHotTracked property.

Note: Each View has its own default style settings. Thus, changing the View will result in modifying the settings provided by the GroupHeaderActiveHotTracked property.


TdxNavBarDefaultStyles.GroupHeaderActivePressed

TdxNavBarDefaultStyles

Specifies the default style settings for the active group’s header while pressed.

property GroupHeaderActivePressed: TdxNavBarDefaultStyle ;

Description

Use the GroupHeaderActivePressed property to access the default style settings of an active group’s header when it is pressed. Each individual group can override these settings using its CustomStyles.HeaderActivePressed property.

Note: Each View has its own default style settings. Thus, changing the View will result in modifying the settings provided by the GroupHeaderActivePressed property.


TdxNavBarDefaultStyles.NavigationPaneHeader

TdxNavBarDefaultStyles See Also Concepts

Specifies the style for the header section and the splitter when a Navigation Pane View is applied.

property NavigationPaneHeader: TdxNavBarDefaultStyle;

Description

Use the NavigationPaneHeader property to access the header panel’s and splitter’s settings. Note that these settings can be overridden by assigning a custom style to the control’s OptionsStyle.CustomStyles.NavigationPaneHeader property. Using a custom style is more convenient if you need to reuse the same style settings for several elements. For instance, you may need to assign the same style to the header section and some group headers. Note also, that custom styles are not reset when changing the control’s paint style.


TdxNavBarGroupCustomStyles.Background

TdxNavBarGroupCustomStyles See Also Concepts

Specifies the background style of a group's client area.

property Background: TdxNavBarStyleItem;

Description

Use this property to apply a custom created style to a group’s client area. Note that changing this style’s settings will change the appearance of all control sections to which the same style is applied.

The image below displays an example of modifying the first group’s background style.

If the Background property is not set, the group’s client area will have the appearance specified by the View applied. After selecting the desired painting style, you can additionally change the group background appearance by modifying the OptionsStyle.DefaultStyles.GroupBackground default style.


TdxNavBarGroupCustomStyles.Control

TdxNavBarGroupCustomStyles See Also Concepts

Specifies the background style of an embedded group control.

property Control: TdxNavBarStyleItem;

Description

The NavBar control enables you to embed container controls within groups. This means that you can place any VCL control into a group. The embedded group control’s background style is specified by the Control property. Note that you need to assign a custom created style to this property. Changing the style’s settings will affect all the NavBar control’s elements that use the same style.

The Control property overrides the default style settings for embedded group controls. These settings are specified by the OptionsStyle.DefaultStyles.GroupControl default style.

Please refer to the OptionsGroupControl.UseControl property description for details on embedding container controls into groups. Note also that embedded controls only use the specified style settings when their UseStyle property value is True.


TdxNavBarGroupCustomStyles.Header

TdxNavBarGroupCustomStyles See Also Concepts

Specifies the style of a group header.

property Header: TdxNavBarStyleItem;

Description

Use this property to apply a custom created style to the group header when a group is not active. Note that changing this style’s settings will change the appearance of all control sections to which the same style is applied.

The image below displays an example of modifying the first group’s header style.

If the Header property is not set, the header of an inactive group will get the appearance specified by View applied. After having selected the desired painting style, you can additionally change the group header’s appearance by modifying the settings of the GroupHeader default style.


TdxNavBarGroupCustomStyles.HeaderActive

TdxNavBarGroupCustomStyles See Also Concepts

Specifies the style of the group header when the group is active.

property HeaderActive: TdxNavBarStyleItem;

Description

Use this property to apply a custom created style to the group header when a group is active. Note that changing this style’s settings will change the appearance of all control sections to which the same style is applied.

The image below displays an example of modifying the first group’s header style.

If the HeaderActive property is not set, the header of an active group will have the appearance specified by the painting style (view) applied. After having selected the desired painting style, you can additionally change the group header’s appearance by modifying the settings of the GroupHeaderActive default style.


TdxNavBarGroupCustomStyles.HeaderActiveHotTracked

TdxNavBarGroupCustomStyles See Also Concepts

Specifies the hot-tracked header style when the group is active.

property HeaderActiveHotTracked: TdxNavBarStyleItem;

Description

Use this property to apply a custom created style to the group header when an active group is hot-tracked. Note that changing this style’s settings will change the appearance of all control sections to which the same style is applied.

The style assigned to the HeaderActiveHotTracked property overrides the default style settings for active groups’ hot-tracked headers. These default style settings can be accessed via the control’s OptionsStyle.DefaultStyles.GroupHeaderActiveHotTracked property.


TdxNavBarGroupCustomStyles.HeaderActivePressed

TdxNavBarGroupCustomStyles See Also Concepts

Specifies the header’s style when pressed while the group is active.

property HeaderActivePressed: TdxNavBarStyleItem;

Description

Use this property to apply a custom created style to the group header when an active group is pressed. Note that changing this style’s settings will change the appearance of all control sections to which the same style is applied.

The style assigned to the HeaderActivePressed property overrides the default style settings (accessed via the control’s OptionsStyle.DefaultStyles.GroupHeaderActivePressed property).


TdxNavBarGroupCustomStyles.HeaderHotTracked

TdxNavBarGroupCustomStyles See Also Concepts

Specifies the hot-tracked header style when the group is not active.

property HeaderHotTracked: TdxNavBarStyleItem;

Description

Use this property to apply a custom created style to the group header when an inactive group is hot-tracked. Note that changing this style’s settings will change the appearance of all control sections to which the same style is applied.

The image below displays an example of modifying the first group’s header style.

The style assigned to the HeaderHotTracked property overrides the default style settings for active groups’ hot-tracked headers. These default style settings can be accessed via the control’s OptionsStyle.DefaultStyles.GroupHeaderHotTracked property.


TdxNavBarGroupCustomStyles.HeaderPressed

TdxNavBarGroupCustomStyles See Also Concepts

Specifies the header’s style when pressed while the group is not active.

property HeaderPressed: TdxNavBarStyleItem;

Description

Use this property to apply a custom created style to the group header when an inactive group is pressed. Note that changing this style’s settings will change the appearance of all control sections to which the same style is applied.

The image below displays an example of modifying the first group’s header style.

The style assigned to the HeaderPressed property overrides the default style settings (accessed via the control’s OptionsStyle.DefaultStyles.GroupHeaderPressed property).


TdxNavBarItemCustomStyles.Item

TdxNavBarItemCustomStyles See Also Concepts

Specifies the style of an item when it is not pressed, hot-tracked or disabled.

property Item: TdxNavBarStyleItem;

Description

Use the Item property to access a custom created style item whose style settings are used to represent an item’s appearance. The Item property specifies the appearance of an item when it is not pressed, hot-tracked or disabled. Note that modifying these settings will change the appearance of all control elements to which the same style is applied.

The image below displays an example of modifying the item style. The style of the item representing the first link within the ‘Accessories’ group is modified.


TdxNavBarItemCustomStyles.ItemDisabled

TdxNavBarItemCustomStyles See Also Concepts

Specifies the style of an item when it is disabled.

property ItemDisabled: TdxNavBarStyleItem;

Description

Use the ItemDisabled property to access a custom created style item whose style settings are used to represent an item’s appearance. The ItemDisabled property specifies the appearance of an item when it is disabled. Note that modifying these settings will change the appearance of all control elements to which the same style is applied.

The image below displays an example of modifying the disabled item style. The style of the item representing the first link within the ‘Accessories’ group is modified.


TdxNavBarItemCustomStyles.ItemHotTracked

TdxNavBarItemCustomStyles See Also Concepts

Specifies the style of an item when the corresponding link is hot-tracked.

property ItemHotTracked: TdxNavBarStyleItem;

Description

Use the ItemHotTracked property to access a custom created style item whose style settings are used to represent an item’s appearance. The ItemHotTracked property specifies the appearance of an item when its corresponding link is hot-tracked. Note that modifying these settings will change the appearance of all control elements to which the same style is applied.

The image below displays an example of modifying the item style. The style of the item representing the first link within the ‘Accessories’ group is modified.


TdxNavBarItemCustomStyles.ItemPressed

TdxNavBarItemCustomStyles See Also Concepts

Specifies the style of an item when the corresponding link is pressed.

property ItemPressed: TdxNavBarStyleItem;

Description

Use the ItemPressed property to access a custom created style item whose style settings are used to represent an item’s appearance. The ItemPressed property specifies the appearance of an item when its corresponding link is pressed. Note that modifying these settings will change the appearance of all control elements to which the same style is applied.

The image below displays an example of modifying the item style. The style of the item representing the first link within the ‘Accessories’ group is modified.


TdxNavBarStyleOptions.CustomStyleRepository

TdxNavBarStyleOptions See Also

Provides access to a style repository, which contains all custom styles defined within NavBar controls residing on a form.

property CustomStyleRepository: TdxNavBarStyleRepository;

Description

Refer to the TdxNavBarStyleRepository class description to learn about available settings.


TdxNavBarStyleOptions.CustomStyles

TdxNavBarStyleOptions See Also Concepts

Provides access to custom styles of a NavBar control.

property CustomStyles: TdxNavBarCustomStyles;

Description

Refer to the TdxNavBarCustomStyles class description to learn about available custom styles.


TdxNavBarStyleOptions.DefaultStyles

TdxNavBarStyleOptions

Provides access to default styles of a NavBar control.

property DefaultStyles: TdxNavBarDefaultStyles;

Description

Refer to the TdxNavBarDefaultStyles class description to learn about available default styles.


TdxNavBarStyleOptions.OnChange

TdxNavBarStyleOptions

Occurs when changes are applied to style settings within the current style set.

type

TNotifyEvent = procedure(Sender: TObject) of object;

property OnChange: TNotifyEvent;

This event is for internal use only.


TdxNavBarStyleRepository.Add

TdxNavBarStyleRepository See Also

Adds a new NavBar custom style item to the end of the collection and returns the corresponding object.

function Add: TdxNavBarStyleItem;

Description

To access a particular custom style, use the Items zero-based indexed collection.


TdxNavBarStyleRepository.Items

TdxNavBarStyleRepository See Also

Provides indexed access to collection items.

property Items[Index: Integer]: TdxNavBarStyleItem;

Description

Use this property to access an individual NavBar custom style by its index passed as the Index parameter. Custom style items are zero-based indexed. If the Index parameter value is negative or exceeds the maximum available index, an exception is raised. The last available item index is always one less than the Count property value.


Events for TdxNavBarDefaultStyles

TdxNavBarDefaultStyles Events

TdxNavBarDefaultStyles Legend

In TdxNavBarDefaultStyles

OnChange


Events for TdxNavBarStyle

TdxNavBarStyle Events

TdxNavBarStyle Legend

Derived from TdxNavBarBaseStyle

OnChange


Events for TdxNavBarBaseCustomStyles

TdxNavBarBaseCustomStyles Events

TdxNavBarBaseCustomStyles Legend

In TdxNavBarBaseCustomStyles

OnChange


Events for TdxNavBarBaseStyle

TdxNavBarBaseStyle Events

TdxNavBarBaseStyle Legend

In TdxNavBarBaseStyle

OnChange


Events for TdxNavBarCustomStyles

TdxNavBarCustomStyles Events

TdxNavBarCustomStyles Legend

Derived from TdxNavBarBaseCustomStyles

OnChange


Events for TdxNavBarDefaultStyle

TdxNavBarDefaultStyle Events

TdxNavBarDefaultStyle Legend

Derived from TdxNavBarBaseStyle

OnChange


Events for TdxNavBarGroupCustomStyles

TdxNavBarGroupCustomStyles Events

TdxNavBarGroupCustomStyles Legend

Derived from TdxNavBarBaseCustomStyles

OnChange


Events for TdxNavBarItemCustomStyles

TdxNavBarItemCustomStyles Events

TdxNavBarItemCustomStyles Legend

Derived from TdxNavBarBaseCustomStyles

OnChange


Events for TdxNavBarStyleOptions

TdxNavBarStyleOptions Events

TdxNavBarStyleOptions Legend

In TdxNavBarStyleOptions

OnChange


Events for TdxNavBarStyleRepository

TdxNavBarStyleRepository Events

TdxNavBarStyleRepository Legend

Derived from TdxNavBarComponentCollection

OnChange


Methods for TdxNavBarDefaultStyles

TdxNavBarDefaultStyles Methods

TdxNavBarDefaultStyles Legend

In TdxNavBarDefaultStyles

BeginUpdate

Create

Destroy

EndUpdate


Methods for TdxNavBarStyle

TdxNavBarStyle Methods

TdxNavBarStyle Legend

Derived from TdxNavBarBaseStyle

Assign

Create

Destroy


Methods for TdxNavBarStyleItem

TdxNavBarStyleItem Methods

TdxNavBarStyleItem Legend

In TdxNavBarStyleItem

Create

Destroy

Derived from TdxNavBarComponentCollectionItem

GetParentComponent

HasParent

Derived from TcxComponentCollectionItem

AddToCollection

RemoveFromCollection


Methods for TdxNavBarBaseStyle

TdxNavBarBaseStyle Methods

TdxNavBarBaseStyle Legend

In TdxNavBarBaseStyle

Assign

Create

Destroy


Methods for TdxNavBarDefaultStyle

TdxNavBarDefaultStyle Methods

TdxNavBarDefaultStyle Legend

Derived from TdxNavBarBaseStyle

Assign

Create

Destroy


Methods for TdxNavBarStyleRepository

TdxNavBarStyleRepository Methods

TdxNavBarStyleRepository Legend

In TdxNavBarStyleRepository

Add

Derived from TdxNavBarComponentCollection

Assign

Clear

Create

Delete

Destroy

IndexOf

ItemByName

Remove


Properties for TdxNavBarDefaultStyles

TdxNavBarDefaultStyles Properties

TdxNavBarDefaultStyles Legend

In TdxNavBarDefaultStyles

Background

Button

ButtonHotTracked

ButtonPressed

DefaultStyleCount

DefaultStyles

DropTargetGroup

DropTargetLink

GroupBackground

GroupControl

GroupHeader

GroupHeaderActive

GroupHeaderActiveHotTracked

GroupHeaderActivePressed

GroupHeaderHotTracked

GroupHeaderPressed

Hint

Item

ItemDisabled

ItemHotTracked

ItemPressed

NavigationPaneHeader


Properties for TdxNavBarStyle

TdxNavBarStyle Properties

TdxNavBarStyle Legend

Derived from TdxNavBarBaseStyle

AlphaBlending

AlphaBlending2

AssignedValues

BackColor

BackColor2

Font

GradientMode

HAlignment

Image

VAlignment


Properties for TdxNavBarStyleItem

TdxNavBarStyleItem Properties

TdxNavBarStyleItem Legend

In TdxNavBarStyleItem

Style

Derived from TdxNavBarComponentCollectionItem

Collection

CollectionOwner

Derived from TcxComponentCollectionItem

ID

Index


Properties for TdxNavBarBaseCustomStyles

TdxNavBarBaseCustomStyles Properties

TdxNavBarBaseCustomStyles Legend

In TdxNavBarBaseCustomStyles

Styles


Properties for TdxNavBarBaseStyle

TdxNavBarBaseStyle Properties

TdxNavBarBaseStyle Legend

In TdxNavBarBaseStyle

AlphaBlending

AlphaBlending2

AssignedValues

BackColor

BackColor2

Font

GradientMode

HAlignment

Image

VAlignment


Properties for TdxNavBarCustomStyles

TdxNavBarCustomStyles Properties

TdxNavBarCustomStyles Legend

In TdxNavBarCustomStyles

Background

Button

ButtonHotTracked

ButtonPressed

DropTargetGroup

DropTargetLink

Hint

NavigationPaneHeader

Derived from TdxNavBarBaseCustomStyles

Styles


Properties for TdxNavBarDefaultStyle

TdxNavBarDefaultStyle Properties

TdxNavBarDefaultStyle Legend

In TdxNavBarDefaultStyle

Collection

DefaultValues

Derived from TdxNavBarBaseStyle

AlphaBlending

AlphaBlending2

AssignedValues

BackColor

BackColor2

Font

GradientMode

HAlignment

Image

VAlignment


Properties for TdxNavBarGroupCustomStyles

TdxNavBarGroupCustomStyles Properties

TdxNavBarGroupCustomStyles Legend

In TdxNavBarGroupCustomStyles

Background

Control

Header

HeaderActive

HeaderActiveHotTracked

HeaderActivePressed

HeaderHotTracked

HeaderPressed

Derived from TdxNavBarBaseCustomStyles

Styles


Properties for TdxNavBarItemCustomStyles

TdxNavBarItemCustomStyles Properties

TdxNavBarItemCustomStyles Legend

In TdxNavBarItemCustomStyles

Item

ItemDisabled

ItemHotTracked

ItemPressed

Derived from TdxNavBarBaseCustomStyles

Styles


Properties for TdxNavBarStyleOptions

TdxNavBarStyleOptions Properties

TdxNavBarStyleOptions Legend

In TdxNavBarStyleOptions

CustomStyles

CustomStyleRepository

DefaultStyles


Properties for TdxNavBarStyleRepository

TdxNavBarStyleRepository Properties

TdxNavBarStyleRepository Legend

In TdxNavBarStyleRepository

Items

Derived from TdxNavBarComponentCollection

Count

Items

Owner


TdxNavBarDefaultStyles Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarDefaultStyles


TdxNavBarStyle Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarBaseStyle

|

TdxNavBarStyle


TdxNavBarStyleItem Hierarchy

Hierarchy

TComponent

|

TdxNavBarComponentCollectionItem

|

TdxNavBarStyleItem


TdxNavBarBaseCustomStyles Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarNexusPersistent

|

TdxNavBarBaseCustomStyles


TdxNavBarBaseStyle Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarBaseStyle


TdxNavBarCustomStyles Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarNexusPersistent

|

TdxNavBarBaseCustomStyles

|

TdxNavBarCustomStyles


TdxNavBarDefaultStyle Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarBaseStyle

|

TdxNavBarDefaultStyle


TdxNavBarGroupCustomStyles Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarNexusPersistent

|

TdxNavBarBaseCustomStyles

|

TdxNavBarGroupCustomStyles


TdxNavBarItemCustomStyles Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarNexusPersistent

|

TdxNavBarBaseCustomStyles

|

TdxNavBarItemCustomStyles


TdxNavBarStyleOptions Hierarchy

Hierarchy

TPersistent

|

TcxOwnedPersistent

|

TdxNavBarStyleOptions


TdxNavBarStyleRepository Hierarchy

Hierarchy

TPersistent

|

TdxNavBarComponentCollection

|

TdxNavBarStyleRepository


dxNavBarViewsFact.RegisterView

RegisterView global procedure

Concepts

Registers a custom View so that it can be applied to the NavBar control.

type

TdxNavBarPainterClass = class of TdxNavBarPainter;

Unit

dxNavBarViewsFact

procedure RegisterView(AID: Integer; AName: string; APainterClass: TdxNavBarPainterClass);

Description

This method simply calls the RegisterView method of the collection object that contains all the registered Views. Use the dxNavBarViewsFactory function, to access this collection object.


dxNavBarViewsFact.UnRegisterView

UnRegisterView global procedure

Concepts

Un-registers a custom View that was previously registered within the NavBar control.

Unit

dxNavBarViewsFact

procedure UnRegisterView(AID: Integer);

Description

This method simply calls the UnRegisterView method of the collection object that contains all the registered Views. Use the dxNavBarViewsFactory function, to access this collection object.


TdxNavBarViewsFactory.Count

TdxNavBarViewsFactory

Returns the number of Views within the list.

property Count: Integer;

Description

Use the Count property to obtain the total number of currently registered NavBar Views.

The View currently applied to the NavBar control is specified by its identity value via the View property.

ReadOnly Property


TdxNavBarViewsFactory.IDs

TdxNavBarViewsFactory See Also

Provides zero-based indexed access to the identity values of registered Views.

property IDs[AIndex: Integer]: Integer;

Description

The AIndex parameter specifies the index of the View whose identity value is to be obtained. This parameter value can vary from 0 to Count–1.

ReadOnly Property


TdxNavBarViewsFactory.IndexOfName

TdxNavBarViewsFactory See Also

Returns the index of the NavBar control View by its name.

function IndexOfName(const Name: string): Integer;

Description

The Name parameter specifies the View’s name. If a View with the specified name is not registered within the NavBar control, the IndexOfName function returns –1.

A View for painting the NavBar control is specified via the View property. This property specifies the identity value of the required View. If you want to set a View by its name, use the IndexOfName method to obtain the corresponding View index first.

The following code applies the ExplorerBarView View to the NavBar control:

// Delphi

dxNavBar1.View := dxNavBarViewsFactory.IDs[dxNavBarViewsFactory.IndexOfName('ExplorerBarView')];

The following code does the same:

// Delphi

dxNavBar1.View := dxNavBarViewsFactory.GetIDFromName('ExplorerBarView');


TdxNavBarViewsFactory.Names

TdxNavBarViewsFactory See Also

Provides indexed access to the names of registered Views.

property Names[AIndex: Integer]: string;

Description

The AIndex parameter specifies the index of the View whose name is to be obtained. This parameter value can vary from 0 to Count – 1.

The following code populates a combo box with the names of registered NavBar Views and assigns a View to the NavBar control according to the selected name within the combo box. This code can be used to enable end-users to choose a View at runtime:

//Delphi

//...

NavBar: TdxNavBar;

ViewsCombo: TComboBox;

//...

procedure TMainForm.FormCreate(Sender: TObject);

var

I:Integer;

begin

with dxNavBarViewsFactory do

begin

for I := 0 to Count - 1 do

ViewsCombo.Items.Add(Names[I]); ViewsCombo.ItemIndex := 0;

end;

end;

procedure TMainForm.ViewsComboChange(Sender: TObject);

begin

NavBar.View := dxNavBarViewsFactory.IDs[TComboBox(Sender).ItemIndex];

end;

//...

ReadOnly Property


TdxNavBarViewsFactory.PainterClasses

TdxNavBarViewsFactory Concepts

Provides indexed access to the list of painter classes that implement drawing of NavBar control Views.

type

TdxNavBarPainterClass = class of TdxNavBarPainter;

property PainterClasses[AIndex: Integer]: TdxNavBarPainterClass;

Description

Use the PainterClasses property to access the list of painter classes associated with NavBar Views.

Each View registered within the NavBarViewsFactory has a corresponding painter class, which implements drawing of the NavBar control according to the View’s "attributes". Each painter class is a TdxNavBarPainter descendant. It references a number of painter and ViewInfo classes implementing painting of specific View elements.

ReadOnly Property


TdxNavBarViewsFactory.GetIDFromName

TdxNavBarViewsFactory See Also

Returns the identity value of the NavBar control View by its name.

function GetIDFromName(const Name: string): Integer;

Description

The Name parameter specifies the View’s name. If a View with the specified identity value is not registered within the NavBar control, GetIDFromName function returns –1.

The View property specifies the identity value of the View that is currently applied to the NavBar control. To specify a View by its name, use the GetIDFromName to obtain the corresponding identity value first.

The following code applies the ExplorerBarView View to the NavBar control:

// Delphi

dxNavBar1.View := dxNavBarViewsFactory.GetIDFromName('ExplorerBarView');


TdxNavBarViewsFactory.IndexOfID

TdxNavBarViewsFactory See Also

Returns the index of the NavBar control View by its identity value.

function IndexOfID(const AID: Integer): Integer;

Description

The AID parameter specified the View’s identity value. If a View with the specified identity value is not registered within the NavBar control, the IndexOfID function returns –1.


TdxNavBarViewsFactory.IsViewRegistered

TdxNavBarViewsFactory See Also

Determines whether the specified NavBar control View is registered.

function IsViewRegistered(const AID: Integer): Boolean;

Description

The View’s identity value is passed as the AID parameter. The function returns True, if the View with the specified identity value is registered.


TdxNavBarViewsFactory.RegisterView

TdxNavBarViewsFactory Concepts

Registers a custom View so that it can be applied to the NavBar control.

type

TdxNavBarPainterClass = class of TdxNavBarPainter;

procedure RegisterView(AID: Integer; AName: string; APainterClass: TdxNavBarPainterClass);

Description

The AID parameter value identifies a View to register. This value is used to apply a View to the NavBar control via the View property.

The AName parameter specifies the View name, which appears in the combo box on the Views page of the NavBar Designer.

The APainterClass parameter identifies a painter class used for drawing the NavBar control.

Note: If you want to register a View so that it can be available at design time, the name of the unit containing the View implementation must be added to:

  • the uses section in one of the design time package units (typically the dxNavBarReg unit);

  • the implementation uses section in one of the runtime package units (typically the dxNavBar unit).

The RegisterView method must be called within the initialization section of the unit that implements the View. To un-register the View, call the UnRegisterView method.


TdxNavBarViewsFactory.UnRegisterView

TdxNavBarViewsFactory Concepts

Un-registers a custom View that was previously registered within the NavBar control.

procedure UnRegisterView(AID: Integer);

Description

The AID parameter value identifies a View to un-register. This value is used to apply a View to the NavBar control via the View property.

Note: The UnRegisterView method must be called within the finalization section of the unit that implements the View. To register a custom View, call the RegisterView method.


Methods for TdxNavBarViewsFactory

TdxNavBarViewsFactory Methods

TdxNavBarViewsFactory Legend

In TdxNavBarViewsFactory

GetIDFromName

IndexOfID

IndexOfName

IsViewRegistered

RegisterView

UnRegisterView


Properties for TdxNavBarViewsFactory

TdxNavBarViewsFactory Properties

TdxNavBarViewsFactory Legend

In TdxNavBarViewsFactory

Count

IDs

Names

PainterClasses


TcxNavBarViewsFactory Hierarchy

Hierarchy

TObject

|

TdxNavBarViewsFactory


TdxNavBarDragObject

TdxNavBarDragObject Object

Hierarchy Properties Methods Concepts

Represents a class used for managing NavBar drag & drop operations.

Unit

dxNavBar

TdxNavBarDragObject = class( TObject )

Description

The TdxNavBarDragObject class is a drag object designed specifically to handle internal and external drag & drop operations within the NavBar control. It contains a set of properties which represent specific parameters for such operations. Using these parameters facilitates proper handling of any user actions relating to dragging items from/onto/within the NavBar control and accepting or canceling drop actions.

Internal drag & drop operations performed within the same NavBar control are handled internally. This implies that the NavBar object creates an instance of the TdxNavBarDragObject object and implements the required logic for dragging and dropping operations automatically. So, for the most part, you do not need to make use of the TdxNavBarDragObject object and its properties to utilize standard internal operations.

For handling external drag & drop operations, you must create a TdxNavBarDragObject object manually to customize the NavBar’s drag-and-drop behavior.


TdxNavBarDragObject.Create

TdxNavBarDragObject See Also Concepts

Creates and initializes a new instance of the TdxNavBarDragObject object.

constructor Create(ANavBar: TdxCustomNavBar ; var DragObject: TDragObject ; ASourceGroup: TdxNavBarGroup ; ASourceLink: TdxNavBarItemLink ; ASourceItem: TdxNavBarItem );

Description

The Create method is used to create a new instance of the TdxNavBarDragObject object and initialize its properties to specific values.

If drag & drop operations will be performed within the same NavBar control (internal drag & drop operations), you do not need to use this constructor directly. In such cases, an instance of the TdxNavBarDragObject object is created automatically.

If you plan on allowing users to perform external drag & drop operations, you should create a new instance of the TdxNavBarDragObject object manually to support dragging items from another control and dropping them onto the NavBar. For this purpose, you should provide a handler for the OnStartDrag event generated by the source control.


TdxNavBarDragObject.Destroy

TdxNavBarDragObject See Also Concepts

Destroys an instance of TdxNavBarDragObject.

destructor Destroy; override;

Description

The Destroy method is used to destroy an instance of the TdxNavBarDragObject object and free any allocated memory.

You do not need to use this method directly in applications since an instance of the TdxNavBarDragObject object is automatically freed after drag & drop operations are completed.


TdxNavBarDragObject.NavBar

TdxNavBarDragObject Concepts

Represents the NavBar control involved in a drag & drop operation.

property NavBar: TdxCustomNavBar ;

Description

Read the NavBar property to determine the NavBar control involved in the current drag & drop operation. This property is initialized with the specific value at the time of TdxNavBarDragObject creation.

ReadOnly Property


TdxNavBarDragObject.SourceGroup

TdxNavBarDragObject See Also Concepts

Represents a group being dragged during drag & drop operations.

property SourceGroup: TdxNavBarGroup ;

Description

Read the SourceGroup property to determine which TdxNavBarGroup object is currently being dragged. Note that the fAllowDragGroup flag should be active to enable group dragging. This flag can be accessed via the NavBar control’s OptionsBehavior.Common.DragDropFlags property.

ReadOnly Property


TdxNavBarDragObject.SourceItem

TdxNavBarDragObject See Also Concepts

Represents an item whose corresponding link is being dragged during a drag & drop operation.

property SourceItem: TdxNavBarItem ;

Description

Read the SourceItem property to identify a TdxNavBarItem object to which the link being currently dragged corresponds. Note that the fAllowDragLink flag should be active to enable link dragging. This flag can be accessed via the NavBar control’s OptionsBehavior.Common.DragDropFlags property.

ReadOnly Property


TdxNavBarDragObject.SourceLink

TdxNavBarDragObject See Also Concepts

Represents a link being dragged during drag & drop operations.

property SourceLink: TdxNavBarItemLink ;

Description

Read the SourceLink property to identify the TdxNavBarItemLink object which is currently being dragged. Note that the fAllowDragLink flag should be active to enable link dragging. This flag can be accessed via the NavBar control’s OptionsBehavior.Common.DragDropFlags property.

ReadOnly Property


TdxNavBarDragObject.TargetGroup

TdxNavBarDragObject See Also Concepts

Represents a group located under the mouse pointer when performing group drag & drop operations.

property TargetGroup: TdxNavBarGroup ;

Description

When dragging a group, its new position is indicated by highlighting the header of the target group. Read the TargetGroup property to identify the target group onto which another group is being dragged.

Note that the fAllowDragGroup flag should be active to enable group dragging. This flag can be accessed via the NavBar control’s OptionsBehavior.Common.DragDropFlags property.

ReadOnly Property


TdxNavBarDragObject.TargetLink1

TdxNavBarDragObject See Also Concepts

Represents a link located before a new position of the link being dragged.

property TargetLink1: TdxNavBarItemLink ;

Description

When dragging a link, its new position is indicated by a specific line. Read the TargetLink1 property to identify the TdxNavBarItemLink object after which the line is displayed when dragging a link.

If the dragged link is positioned before the first group link, this property returns nil. In this instance, you can use the TargetLink2 property to determine the link situated next to a new position of the dragged link. A precise dragged link position within the target group’s links can be obtained via the TargetLinkIndex property.

Note that the fAllowDragLink flag should be active to enable link dragging. This flag can be accessed via the NavBar control’s OptionsBehavior.Common.DragDropFlags property.

ReadOnly Property


TdxNavBarDragObject.TargetLink2

TdxNavBarDragObject See Also Concepts

Represents a link located after the new position of the link being dragged.

property TargetLink2: TdxNavBarItemLink ;

Description

When dragging a link, its new position is indicated by a specific line. Read the TargetLink2 property to identify a TdxNavBarItemLink object before which a line is displayed when dragging a link.

If the dragged link is positioned after the last group link, this property returns nil. In this instance, you can use the TargetLink1 property to determine the link situated prior to the new position of the dragged link.

Note that the fAllowDragLink flag should be active to enable link dragging. This flag can be accessed via the NavBar control’s OptionsBehavior.Common.DragDropFlags property.

ReadOnly Property


TdxNavBarDragObject.TargetLinkIndex

TdxNavBarDragObject See Also Concepts

Gets the target position of the link being dragged.

property TargetLinkIndex: Integer;

Description

When dragging a link, its target position is indicated by a specific line. Read the TargetLinkIndex property to determine the index the currently dragged link will assume if a user drops it onto a position indicated by the line.

Note that the fAllowDragLink flag should be active to enable link dragging. This flag can be accessed via the NavBar control’s OptionsBehavior.Common.DragDropFlags property.

ReadOnly Property


Methods for TdxNavBarDragObject

TdxNavBarDragObject Methods

TdxNavBarDragObject Legend

In TdxNavBarDragObject

Create

Destroy


Properties for TdxNavBarDragObject

TdxNavBarDragObject Properties

TdxNavBarDragObject Legend

In TcxNavBarDragObject

NavBar

SourceGroup

SourceItem

SourceLink

TargetGroup

TargetLink1

TargetLink2

TargetLinkIndex


TdxNavBarDragObject Hierarchy

Hierarchy

TObject

|

TdxNavBarDragObject


OnCustomDraw.Background, DrawBackground example

The OnCustomDraw.Background event is used in this example to custom paint the background of the NavBar control.

The entire client region of the NavBar control is divided into four quadrants. Each quadrant is rendered by the TdxNavBarCustomBackgroundPainter.DrawBackground class method with individual gradient and color settings.

After the background is filled, a label is drawn at the bottom of the NavBar control. It is centered horizontally and vertically.

// Delphi

procedure TForm1.dxNavBar1CustomDrawBackground(Sender: TObject;

ACanvas: TCanvas; AViewInfo: TdxNavBarViewInfo; var AHandled: Boolean);

var

ARect: TRect; H2, W2: Integer; AAlphaBlend1, AAlphaBlend2: Integer; AColor1, AColor2: TColor; AGradientMode: TdxBarStyleGradientMode; AEraseBackground: Boolean;

procedure DrawCenteredText(AText: string; ARect: TRect);

var

X, Y: Integer;

begin

X := ARect.Left + Trunc((ARect.Right - ARect.Left - ACanvas.TextWidth(AText))/2); Y := ARect.Top + Trunc((ARect.Bottom - ARect.Top - ACanvas.TextHeight(AText))/2); ACanvas.TextRect(ARect, X, Y, AText);

end;

begin

//Set parameters for the DrawBackground method

AEraseBackground := True; AColor1 := $FFFFE0; AColor2 := $FF901E; AAlphaBlend1 := 255; AAlphaBlend2 := 255;

//Get the client region of the NavBar control

ARect := AViewInfo.NavBar.ClientRect; H2 := Trunc((ARect.Bottom - ARect.Top)/2); W2 := Trunc((ARect.Right - ARect.Left)/2);

//The top-left quadrant

ARect.Bottom := ARect.Top + H2; ARect.Right := ARect.Left + W2; AGradientMode := gmForwardDiagonal; TdxNavBarCustomBackgroundPainter.DrawBackground(ACanvas, ARect, nil, AEraseBackground, AColor1, AColor2, AAlphaBlend1, AAlphaBlend2, AGradientMode);

//The top-right quadrant

ARect.Left := ARect.Right; ARect.Right := AViewInfo.NavBar.ClientRect.Right; AGradientMode := gmBackwardDiagonal; TdxNavBarCustomBackgroundPainter.DrawBackground(ACanvas, ARect, nil, AEraseBackground, AColor1, AColor2, AAlphaBlend1, AAlphaBlend2, AGradientMode);

//The bottom-right quadrant

ARect.Top := ARect.Bottom; ARect.Bottom := AViewInfo.NavBar.ClientRect.Bottom; AGradientMode := gmForwardDiagonal; TdxNavBarCustomBackgroundPainter.DrawBackground(ACanvas, ARect, nil, AEraseBackground, AColor2, AColor1, AAlphaBlend1, AAlphaBlend2, AGradientMode);

//The bottom-left quadrant

ARect.Right := ARect.Left; ARect.Left := AViewInfo.NavBar.ClientRect.Left; AGradientMode := gmBackwardDiagonal; TdxNavBarCustomBackgroundPainter.DrawBackground(ACanvas, ARect, nil, AEraseBackground, AColor2, AColor1, AAlphaBlend1, AAlphaBlend2, AGradientMode); ARect := AViewInfo.NavBar.ClientRect; ARect.Top := ARect.Bottom - 20; ACanvas.Brush.Style := bsClear;

with ACanvas.Font do

begin

Name := 'Verdana';

Size := 8; Color := clNavy; Style := [fsBold];

end;

DrawCenteredText('www.devexpress.com', ARect);

AHandled := True;

end;

The result of such customization is shown below:


OnCustomDraw.GroupCaption, DrawButton, DrawImage, DrawSign example

In this example, NavBar group headers are painted via handling the OnCustomDraw.GroupCaption event. Painting of a group header is performed as follows:

  1. The header background is divided into two regions each of which is filled separately with different color parameters via the DrawButton class method.

  2. The group image is drawn by the DrawImage class method.

  3. The header sign is painted by the TdxNavBarExplorerBarSignPainter.DrawSign class method.

  4. The text is drawn by the DrawText method.

// Delphi

procedure TForm1.dxNavBar1CustomDrawGroupCaption(Sender: TObject;

ACanvas: TCanvas; AViewInfo: TdxNavBarGroupViewInfo;

var AHandled: Boolean);

var

ARect: TRect; AColor1, AColor2: TColor; AAlphaBlend1, AAlphaBlend2: Byte; AGradientMode: TdxBarStyleGradientMode; W70: Integer; AButtonPainter: TdxNavBarCustomButtonPainterClass;

begin

AColor1 := $FFBF00; AColor2 := clWhite; AAlphaBlend1 := 255; AAlphaBlend2 := 255; AGradientMode := gmHorizontal; AButtonPainter := TdxNavBarCustomButtonPainter; ARect := AViewInfo.CaptionRect;

// The width of the left section of the group background

W70 := Trunc((ARect.Right - ARect.Left)*0.7);

// Draw the left section of the group background

ARect.Right := ARect.Left + W70; AButtonPainter.DrawButton(ACanvas, ARect, nil, AColor1, AColor2, AAlphaBlend1, AAlphaBlend2, AGradientMode, clWhite, AViewInfo.State);

// Draw the right section of the group background

ARect.Left := ARect.Right; ARect.Right := AViewInfo.CaptionRect.Right; AButtonPainter.DrawButton(ACanvas, ARect, nil, AColor2, AColor1, AAlphaBlend1, AAlphaBlend2, AGradientMode, clWhite, AViewInfo.State);

// Draw the group image

ARect := AViewInfo.CaptionImageRect; TdxNavBarCustomImagePainter.DrawImage(ACanvas, AViewInfo.ImageList, AViewInfo.ImageIndex, ARect);

// Draw the hearder sign

ARect := AViewInfo.CaptionSignRect; TdxNavBarExplorerBarSignPainter.DrawSign(ACanvas, ARect, clYellow, clBlack, clBlack, AViewInfo.State);

// Draw the group caption

ARect := AViewInfo.CaptionTextRect; ACanvas.Brush.Style := bsClear; ACanvas.Font := AViewInfo.CaptionFont; ACanvas.Font.Color := AViewInfo.CaptionFontColor; DrawText(ACanvas.Handle, PChar(AViewInfo.Group.Caption), Length(AViewInfo.Group.Caption), ARect, AViewInfo.GetDrawEdgeFlag);

AHandled := True;

end;

// C++ Builder

// ...

#include <math.h>

#include <windows.h>

// ...

void __fastcall Tfm1::dxNavBar1CustomDrawGroupCaption(TObject *Sender, TCanvas *ACanvas, TdxNavBarGroupViewInfo *AViewInfo, bool &AHandled)

{

TdxNavBarCustomButtonPainter* ebpainter = new TdxNavBarCustomButtonPainter();

TdxNavBarExplorerBarSignPainter* ebspainter = new TdxNavBarExplorerBarSignPainter();

TdxNavBarCustomImagePainter* ipainter = new TdxNavBarImagePainter();

try{

TColor Acolor1 = 0xFFBF00;

TColor AColor2 = clWhite;

Byte AAlphaBlend1 = 255;

Byte AAlphaBlend2 = 255;

TdxBarStyleGradientMode AGradientMode = gmHorizontal;

TRect ARect = AViewInfo->CaptionRect;

int W70 = floor((ARect.Right - ARect.Left)*0.7);

ARect.Right = ARect.Left + W70;

ebpainter->DrawButton(__classid(TdxNavBarCustomButtonPainter), ACanvas, ARect, NULL, AColor1, AColor2, AAlphaBlend1, AAlphaBlend2, AGradientMode, clWhite, AViewInfo->State);

ARect.Left = ARect.Right;

ARect.Right = AViewInfo->CaptionRect.Right;

ebpainter->DrawButton(__classid(TdxNavBarCustomButtonPainter), ACanvas, ARect, NULL, AColor2, AColor1, AAlphaBlend1, AAlphaBlend2, AGradientMode, clWhite, AViewInfo->State);

ARect = AViewInfo->CaptionImageRect;

ipainter->DrawImage(__classid(TdxNavBarCustomImagePainter), ACanvas, AViewInfo->ImageList(), AViewInfo->ImageIndex(), ARect);

ARect = AViewInfo->CaptionSignRect;

ebspainter->DrawSign(__classid(TdxNavBarExplorerBarSignPainter), ACanvas, ARect, clYellow, clBlack, clBlack, AViewInfo->State);

ARect = AViewInfo->CaptionTextRect;

ACanvas->Brush->Style = bsClear;

ACanvas->Font = AViewInfo->CaptionFont();

ACanvas->Font->Color = AViewInfo->CaptionFontColor();

AnsiString gc = AViewInfo->Group->Caption;

DrawText(ACanvas->Handle, gc.c_str(), gc.Length(), &ARect, AViewInfo->GetDrawEdgeFlag());

AHandled = True;

}

__finally {

delete ebpainter;

delete ipainter;

delete ebspainter;

}

}

Now group headers are painted as follows:


OnCustomDraw.GroupHint, OnCalcGroupHint, DrawHint example

The following code shows how to use the OnCustomDraw.GroupHint event to perform custom painting of group hints. In this example, a small right-arrow is drawn before the hint text. The arrow is painted by the DrawRightArrow method. The hint is painted by a standard TdxNavBarCustomHintPainter.DrawHint class method.

Additionally, you have to write a handler for the OnCalcGroupHintRect event. This is required to enlarge the hint area so that it can include the arrow together with the hint text.

// Delphi

uses ..., dxNavBarStyles, dxNavBarCustomPainters;

//The arrow’s width and height

const ArrowSize = 7;

//The OnCalcGroupHintRect event handler

procedure TForm1.dxNavBar1CalcGroupHintRect(Sender: TObject; AGroup: TdxNavBarGroup; AViewInfo: TdxNavBarViewInfo; var R: TRect);

begin

R.Right := R.Right + ArrowSize + 1;

end;

//The OnCustomDraw.GroupHint event handler

procedure TForm1.dxNavBar1CustomDrawGroupHint(Sender: TObject; ACanvas: TCanvas; AGroup: TdxNavBarGroup; AHint: String; R: TRect; var AHandled: Boolean);

var

AAlphaBlend1, AAlphaBlend2: Integer; AColor1, AColor2: TColor; AGradientMode: TdxBarStyleGradientMode; ArrowRect: TRect;

procedure DrawRightArrow(ARect: TRect; AColor: TColor);

begin

ACanvas.Brush.Style := bsSolid; ACanvas.Brush.Color := AColor; ACanvas.Pen.Color := AColor; ACanvas.Polygon([ARect.TopLeft, Point(ARect.Left, ARect.Bottom), Point(ARect.Right, ARect.Top + Trunc((ARect.Bottom - ARect.Top)/2))]);

end;

begin

//Draw a right-arrow to the left of the hint

ArrowRect := R; ArrowRect.Top := ArrowRect.Top + Trunc((ArrowRect.Bottom - ArrowRect.Top - ArrowSize)/2); ArrowRect.Bottom := ArrowRect.Top + ArrowSize; ArrowRect.Right := ArrowRect.Left + ArrowSize; DrawRightArrow(ArrowRect, clGreen);

//Draw the hint

AColor1 := $CDFAFF; AColor2 := AColor1; AAlphaBlend1 := 255; AAlphaBlend2 := AAlphaBlend1; R.Left := ArrowRect.Right + 1; TdxNavBarCustomHintPainter.DrawHint(ACanvas, R, AHint, nil, AColor1, AColor2, AAlphaBlend1, AAlphaBlend2, AGradientMode, ACanvas.Font); AHandled := True;

end;

The image below displays the result of painting group hints in a custom manner:


OnCustomDraw.Link, DrawImage, DrawSelection example

Some NavBar Views do not support selection for pressed, selected and hot-tracked links (see the TdxNavBarCustomSelectionPainter topic for details). The following code shows how you can implement selection drawing for such Views. The OnCustomDraw.Link event allows you to paint NavBar links yourself.

First, the TdxNavBarUltraFlatSelectionPainter.DrawSelection class method is used to draw the selection within the rectangle occupied by the entire link. Second, the link image is drawn by the DrawImage class method. Image bounds are determined by the ImageRect property of the AViewInfo parameter. Finally, \ link caption is drawn by the TCanvas.TextRect method within the rectangle specified by the CaptionRect property of the AViewInfo parameter.

// Delphi

procedure TForm1.dxNavBar1CustomDrawLink(Sender: TObject; ACanvas: TCanvas; AViewInfo: TdxNavBarLinkViewInfo; var AHandled: Boolean);

var

ARect: TRect;

begin

//Draw the selection

TdxNavBarUltraFlatSelectionPainter.DrawSelection(ACanvas, AViewInfo.Rect, clBlack, AViewInfo.State);

//Draw the link image

TdxNavBarCustomImagePainter.DrawImage(ACanvas, AViewInfo.ImageList, AViewInfo.ImageIndex, AViewInfo.ImageRect);

//Draw the link caption

ARect := AViewinfo.CaptionRect; ACanvas.Font := AViewInfo.Font; ACanvas.Font.Color := AViewInfo.FontColor; ACanvas.Brush.Style := bsClear; DrawText(ACanvas.Handle, PChar(AViewInfo.Item.Caption), Length(AViewInfo.Item.Caption), ARect, AViewInfo.GetDrawEdgeFlag); AHandled := True;

end;

The following image shows a hot-tracked link within the NavBar control with the ExplorerBarView View applied:


TdxNavBarViewInfo.ClearGroups

TdxNavBarViewInfo

Clears the internal list of groups.

procedure ClearGroups;

Description

ClearGroups is used to clear the internal list of groups.


TdxNavBarViewInfo.GetDragArrowHeight

TdxNavBarViewInfo

Specifies drag arrow height.

class function GetDragArrowHeight: Integer; virtual;

Description

The GetDragArrowHeight class function is used to determine the height of the arrow in drag & drop operations. By default the function returns 8.


TdxNavBarViewInfo.GetDragArrowWidth

TdxNavBarViewInfo

Specifies drag arrow width.

class function GetDragArrowWidth: Integer; virtual;

Description

The GetDragArrowWidth class function is used to determine the width of the arrow in drag & drop operations. By default the function returns 6.


TdxNavBarViewInfo.GetGroupCaptionHeightAddon

TdxNavBarViewInfo

Specifies the increment which is used to calculate group caption height.

class function GetGroupCaptionHeightAddon: Integer; virtual;

Description

The GetGroupCaptionHeightAddon class function is used to calculate group caption height and represents an increment which is added to the height of the current font used by the group caption. Thus, the height of the group caption is calculated in the following manner: font height is added to the value returned by the GetGroupCaptionHeightAddon class function.


TdxNavBarViewInfo.GetGroupCaptionSeparatorWidth

TdxNavBarViewInfo

Specifies space between the bottom boundary of a group caption and the first item.

class function GetGroupCaptionSeparatorWidth: Integer; virtual;

Description

The GetGroupCaptionSeparatorWidth class function is used to determine the space between the bottom boundary of a group caption and the first item.


TdxNavBarViewInfo.GetGroupCaptionSignSize

TdxNavBarViewInfo

Specifies the size of the caption sign.

function GetGroupCaptionSignSize: TSize; virtual;


TdxNavBarViewInfo.GetGroupHorizontalEdge

TdxNavBarViewInfo

Specifies edge width between group area and borders of the NavBar control.

class function GetGroupHorizontalEdge: Integer; virtual;

Description

The GetGroupHorizontalEdge class function is used to determine the edge width between group area and borders of the NavBar control.


TdxNavBarViewInfo.GetGroupSeparatorWidth

TdxNavBarViewInfo

Specifies edge width between groups.

class function GetGroupSeparatorWidth: Integer; virtual;

Description

The GetGroupSeparatorWidth class function is used to determine edge width between groups.


TdxNavBarViewInfo.GetLinksIconViewSeparatorWidth

TdxNavBarViewInfo

Specifies edge width between NavBar link icons.

class function GetLinksIconViewSeparatorWidth: Integer; virtual;

Description

The GetLinksIconViewSeparatorWidth class function is used to determine edge width between link icons. The ShowAsIconView property is set to True.


TdxNavBarViewInfo.GetLinksImageHorizontalEdge

TdxNavBarViewInfo

Specifies horizontal edge width between image and other objects.

class function GetLinksImageHorizontalEdge: Integer; virtual;

Description

The GetLinksImageHorizontalEdge class function is used to obtain horizontal edge width between images and other objects.


TdxNavBarViewInfo.GetLinksImageVerticalEdge

TdxNavBarViewInfo

Specifies vertical edge width between images and other objects.

class function GetLinksImageVerticalEdge: Integer; virtual;

Description

The GetLinksImageVerticalEdge class function is used to get vertical edge width between images and other objects.


TdxNavBarViewInfo.GetLinksLargeSeparatorWidth

TdxNavBarViewInfo

Specifies edge width between NavBar large icon links.

class function GetLinksLargeSeparatorWidth: Integer; virtual;

Description

The GetLinksLargeSeparatorWidth class function is used to determine edge width between large icon links.


TdxNavBarViewInfo.GetLinksSmallSeparatorWidth

TdxNavBarViewInfo

Specifies edge width between NavBar small icon links.

class function GetLinksSmallSeparatorWidth: Integer; virtual;

Description

The GetLinksSmallSeparatorWidth class function is used to determine edge width between small icon links.


TdxNavBarViewInfo.GetScrollButtonHorizontalEdge

TdxNavBarViewInfo

Specifies horizontal space between scroll button and the border of the NavBar control.

class function GetScrollButtonHorizontalEdge: Integer; virtual;

Description

The GetScrollButtonHorizontalEdge class function is used to determine horizontal space between a scroll button and the border of the NavBar control.


TdxNavBarViewInfo.GetScrollButtonHorizontalSize

TdxNavBarViewInfo

Specifies the width of the NavBar scroll button.

class function GetScrollButtonHorizontalSize: Integer; virtual;

Description

Use the GetScrollButtonHorizontalSize class function to determine the width of the NavBar scroll button.


TdxNavBarViewInfo.GetScrollButtonVerticalEdge

TdxNavBarViewInfo

Specifies vertical space between a scroll button and the border of the NavBar control.

class function GetScrollButtonVerticalEdge: Integer; virtual;

Description

The GetScrollButtonVerticalEdge class function is used to determine vertical space between the scroll button and the border of the NavBar control.


TdxNavBarViewInfo.GetScrollButtonVerticalSize

TdxNavBarViewInfo

Specifies height of the NavBar scroll button.

class function GetScrollButtonVerticalSize: Integer; virtual;

Description

Use the GetScrollButtonVerticalSize class function to determine the height of the NavBar scroll button.


Term list

Active group

Collapsed Navigation Pane

Custom style

Default style

Expanded group

Explorer Bar View

Group

Group header

Group header sign

Group hint

Icon view

Item

Link

Link hint

Large images

Navigation Pane View

Navigation Pane's Header Section

Navigation Pane's Splitter

Navigation Pane's Overflow Panel

Navigation Pane's Context Menu

Scroll button

Side Bar View

Small images

View


Painter Class

Painter classes represent a library for drawing primitives used by controls to render themselves on a graphic surface. They allow drawing of the control background, buttons, hint boxes, images, etc. Painter classes provide class methods to be used when implementing custom draw of a control.


TdxNavBarOffice11NavPaneViewInfo

TdxNavBarOffice11NavPaneViewInfo Object

Hierarchy Properties Methods

Contains View information for the NavBar control when a Navigation Pane View is applied.

Unit

dxNavBarOffice11Views

TdxNavBarOffice11NavPaneViewInfo = class(TdxNavBarOffice3ViewInfo)

Description

Navigation Pane Views introduce unique visual elements such as the splitter, header section and overflow panel. Thus, the TdxNavBarOffice11NavPaneViewInfo class derives from the TdxNavBarViewInfo to provide information about the position and appearance of these elements. You will need this information when handling the OnCustomDraw.NavigationPaneHeader, OnCustomDraw.NavigationPaneSplitter and OnCustomDraw.NavigationPaneOverflowPanel events to determine the layout and style of the Navigation Pane’s elements. All the events mentioned get a TdxNavBarOffice11NavPaneViewInfo class instance as a parameter.


TdxNavBarGroupViewInfo.BgAlphaBlend

TdxNavBarGroupViewInfo

Returns the starting alpha blending component of the group background color.

function BgAlphaBlend: Byte; virtual;

Description

Use the BgAlphaBlend method to obtain the starting alpha blending value of the group background. This value is specified by the style applied to the group. Group background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupBackground default style. Individual groups can override these settings by assigning a custom style to the CustomStyles.Background property of the group. The BgAlphaBlend method returns the AlphaBlending property value of the style assigned.

The BgAlphaBlend method can be used when handling the OnCustomDraw.GroupClientBackground event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarGroupViewInfo.BgAlphaBlend2

TdxNavBarGroupViewInfo

Returns the ending alpha blending component of the group background color.

function BgAlphaBlend2: Byte; virtual;

Description

Use the BgAlphaBlend2 method to obtain the ending alpha blending value of the group background. This value is specified by the style applied to the group. Group background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupBackground default style. Individual groups can override these settings by assigning a custom style to the CustomStyles.Background property of the group. The BgAlphaBlend2 method returns the AlphaBlending2 property value of the style assigned.

The BgAlphaBlend2 method can be used when handling the OnCustomDraw.GroupClientBackground event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarGroupViewInfo.BgBackColor

TdxNavBarGroupViewInfo

Returns the starting background color of the group’s client area.

function BgBackColor: TColor; virtual;

Description

Use the BgBackColor method to obtain the starting background color used by the group’s client background. This value is specified by the style applied to the group. Group background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupBackground default style. Individual groups can override these settings by assigning a custom style to the CustomStyles.Background property of the group. The BgBackColor method returns the BackColor property value of the style assigned.

The BgBackColor method can be used when handling the OnCustomDraw.GroupClientBackground event. It is useful if you don’t want to use custom background colors.


TdxNavBarGroupViewInfo.BgBackColor2

TdxNavBarGroupViewInfo

Returns the ending background color of the group’s client area.

function BgBackColor2: TColor; virtual;

Description

Use the BgBackColor2 method to obtain the ending background color used by the group’s client background. This value is specified by the style applied to the group. Group background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupBackground default style. Individual groups can override these settings by assigning a custom style to the CustomStyles.Background property of the group. The BgBackColor2 method returns the BackColor2 property value of the style assigned.

The BgBackColor2 method can be used when handling the OnCustomDraw.GroupClientBackground event. It is useful if you don’t want to use custom background colors.


TdxNavBarGroupViewInfo.BgGradientMode

TdxNavBarGroupViewInfo

Returns the gradient direction for the groups client background.

type

TdxBarStyleGradientMode = (gmHorizontal, gmVertical, gmForwardDiagonal, gmBackwardDiagonal);

function BgGradientMode: TdxBarStyleGradientMode; virtual;

Description

Use the BgGradientMode method to obtain the gradient direction used to fill the group’s client background. This value is specified by the style applied to the group. Group background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupBackground default style. Individual groups can override these settings by assigning a custom style to the CustomStyles.Background property of the group. The BgGradientMode method returns the BgGradientMode property value of the style assigned.

The BgGradientMode method can be used when handling the OnCustomDraw.GroupClientBackground event. It is useful if you don’t want to use custom gradient direction.

The table below enumerates the gradient modes available.

Value

Descriptions

gmHorizontal

The gradient has a left to right horizontal direction.

gmVertical

The gradient has a top to bottom vertical direction.

gmForwardDiagonal

The gradient has a left top to right bottom direction.

gmBackwardDiagonal

The gradient has a right top to left bottom direction.


TdxNavBarGroupViewInfo.BgImage

TdxNavBarGroupViewInfo

Returns the background image applied to the group client area.

function BgImage: TPicture; virtual;

Description

Use the BgImage method to obtain the image assigned to the group’s client background. This value is specified by the style applied to the group. Group background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupBackground default style. Individual groups can override these settings by assigning a custom style to the CustomStyles.Background property of the group. The BgImage method returns the Image property value of the style assigned.

The BgImage method can be used when handling the OnCustomDraw.GroupClientBackground event. It is useful if you don’t want to display custom image in the group’s client background.


TdxNavBarGroupViewInfo.CaptionAlphaBlend

TdxNavBarGroupViewInfo

Returns the starting alpha blending component of the group header’s background color.

function BgAlphaBlend: Byte; virtual;

Description

Use the CaptionAlphaBlend method to obtain the starting alpha blending value of the group header’s background. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionAlphaBlend method returns the AlphaBlending property value of the style assigned.

The CaptionAlphaBlend method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarGroupViewInfo.CaptionAlphaBlend2

TdxNavBarGroupViewInfo

Returns the ending alpha blending component of the group header’s background color.

function CaptionAlphaBlend2: Byte; virtual;

Description

Use the CaptionAlphaBlend2 method to obtain the ending alpha blending value of the group header’s background. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionAlphaBlend2 method returns the AlphaBlending2 property value of the style assigned.

The CaptionAlphaBlend2 method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarGroupViewInfo.CaptionBackColor

TdxNavBarGroupViewInfo

Returns the starting color of the group header’s background.

function CaptionBackColor: TColor; virtual;

Description

Use the CaptionBackColor method to obtain the starting color of the group header’s background. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionBackColor method returns the BackColor property value of the style assigned.

The CaptionBackColor method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to use custom colors to fill the group header’s background.


TdxNavBarGroupViewInfo.CaptionBackColor2

TdxNavBarGroupViewInfo

Returns the ending color of the group header’s background.

function CaptionBackColor2: TColor; virtual;

Description

Use the CaptionBackColor2 method to obtain the ending color of the group header’s background. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionBackColor2 method returns the BackColor2 property value of the style assigned.

The CaptionBackColor2 method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to use custom colors to fill the group header’s background.


TdxNavBarGroupViewInfo.CaptionFont

TdxNavBarGroupViewInfo

Returns the font of the text displayed within the group header.

function CaptionFont: TFont; virtual;

Description

Use the CaptionFont method to obtain the font settings of the group header’s text. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionFont method returns the Font property value of the style assigned.

The CaptionFont method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to use custom font to paint the group header’s text.


TdxNavBarGroupViewInfo.CaptionFontColor

TdxNavBarGroupViewInfo

Returns the color of the text displayed within the group header.

function CaptionFontColor: TColor; virtual;

Description

Use the CaptionFontColor method to obtain the font color of the group header’s text. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionFontColor method returns the color specified by the Font property value of the style assigned.

The CaptionFontColor method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to use custom font color to paint the group header’s text.


TdxNavBarGroupViewInfo.CaptionGradientMode

TdxNavBarGroupViewInfo

Returns the gradient direction used to fill the group header’s background.

function CaptionGradientMode: TdxBarStyleGradientMode; virtual;

Description

Use the CaptionGradientMode method to obtain the gradient direction applied to the group header’s background. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionGradientMode method returns the GradientMode property value of the style assigned.

The CaptionGradientMode method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to fill the group header’s background with a custom gradient.


TdxNavBarGroupViewInfo.CaptionHAlignment

TdxNavBarGroupViewInfo

Returns the horizontal alignment of the group header’s text.

type

TdxBarStyleHAlignment = (haLeft, haCenter, haRight);

function CaptionHAlignment: TdxBarStyleHAlignment; virtual;

Description

Use the CaptionHAlignment method to obtain the horizontal alignment of the group header’s text. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionHAlignment method returns the HAlignment property value of the style assigned.

The CaptionHAlignment method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to use custom text alignment.

The table below enumerates the available alignment values.

Value | Description
haLeft | Caption text is aligned to the left.
haCenter | Caption text is centered.
haRight | Caption text is aligned to the right.


TdxNavBarGroupViewInfo.CaptionImage

TdxNavBarGroupViewInfo

Returns the image used to fill the group header’s background.

function CaptionImage: TPicture; virtual;

Description

Use the CaptionImage method to obtain the image used to fill the group header’s background. This image is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked and CustomStyles.HeaderPressed properties of the group. The CaptionImage method returns the Image property value of the style assigned.

The CaptionImage method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to fill the header’s background with a custom image.


TdxNavBarGroupViewInfo.CaptionImageRect

TdxNavBarGroupViewInfo

Returns the bounding rectangle of the group header image.

property CaptionImageRect: TRect;

Description

Use this property when handling the OnCustomDraw.GroupCaption event. This is useful if you want to paint the group header image in its default location.

Note that images in captions are available only in Explorer Bar Views. Side Bar Views do not display images in group captions.

ReadOnly Property


TdxNavBarGroupViewInfo.CaptionRect

TdxNavBarGroupViewInfo

Returns the bounding rectangle of the group header.

property CaptionRect: TRect;

Description

Use this property when handling the OnCustomDraw.GroupCaption event. This enables you to determine the group header bounds so you can fill the header’s background and correctly clip any text that you display when custom drawing.

ReadOnly Property


TdxNavBarGroupViewInfo.CaptionSignColor

TdxNavBarGroupViewInfo

Returns the color used to paint the group header sign.

function CaptionSignColor: TColor; virtual;

Description

As implemented in the TdxNavBarGroupViewInfo class, the CaptionSignColor method always returns the clBlack value. This method can be overridden to display the sign using a custom color. Note that you can also paint the group header sign manually via handling the OnCustomDraw.GroupCaption event.


TdxNavBarGroupViewInfo.CaptionSignRect

TdxNavBarGroupViewInfo

Returns the bounding rectangle of the group header sign.

property CaptionSignRect: TRect;

Description

Use this property when handling the OnCustomDraw.GroupCaption event. This is useful if you want to paint the group header sign in its default location.

Note that header signs are available only in Explorer Bar Views. Side Bar Views do not display such signs in headers. If you want to display the group header sign equivalent in Side Bar Views, you have to calculate its bounding rectangle manually.

ReadOnly Property


TdxNavBarGroupViewInfo.CaptionStyle

TdxNavBarGroupViewInfo

Provides access to the default style settings of the group header.

function CaptionStyle: TdxNavBarBaseStyle; virtual;

Description

The CaptionStyle property returns the default style assigned to the group header with respect to its state. Thus it can return either the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked or OptionsStyle.DefaultStyles.GroupHeaderPressed styles.

Use this property when handling the OnCustomDraw.GroupCaption event. You can change property values of the object returned via this property to change the look & feel of group headers. Using this technique is an alternative to specifying custom styles for each group of the NavBar control. Moreover, this enables you to apply various styles to group headers dynamically.

Note that if you want a group header to be painted in default manner but with modified styles, you should leave the AHandled parameter of the OnCustomDraw.GroupCaption event unchanged (set to False).

Note: this property returns the default style applied to all groups of the NavBar control. Use the CaptionStyleItem property to access the custom style applied to the group.


TdxNavBarGroupViewInfo.CaptionStyleItem

TdxNavBarGroupViewInfo

Provides access to the custom style assigned to the group header.

function CaptionStyleItem: TdxNavBarStyleItem; virtual;

Description

The CaptionStyleItem property returns the custom style assigned to the group header with respect to its current state. Thus it can return either the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked or CustomStyles.HeaderPressed property value of the group. If the desired custom style is not set, this method returns nil.

Use this property when handling the OnCustomDraw.GroupCaption event. You can change property values of the object returned via this property to change the look & feel of group headers. Using this technique is an alternative to specifying custom styles for each group of the NavBar control. Moreover, this enables you to apply various styles to group headers dynamically.

Note that if you want a group header to be painted in default manner but with modified styles, you should leave the AHandled parameter of the OnCustomDraw.GroupCaption event unchanged (set to False).

Note: this property returns the custom style applied to the group. Use the CaptionStyle property to access the default style applied to all groups.


TdxNavBarGroupViewInfo.CaptionTextRect

TdxNavBarGroupViewInfo

Returns the bounding rectangle of the group header text.

property CaptionTextRect: TRect;

Description

Use this property when handling the OnCustomDraw.GroupCaption event. This is useful if you want to paint the group header text in its default location.

The text to be displayed is specified by the Caption property of the group related to the event. However, you can paint any desired text when handling the OnCustomDraw.GroupCaption event.

ReadOnly Property


TdxNavBarGroupViewInfo.CaptionVAlignment

TdxNavBarGroupViewInfo

Returns the vertical alignment of the group header’s text.

function CaptionVAlignment: TdxBarStyleVAlignment; virtual;

Description

Use the CaptionVAlignment method to obtain the vertical alignment of the group header’s text. This value is specified by the style applied to the group. Group header’s background style can be specified for all groups via the OptionsStyle.DefaultStyles.GroupHeader, OptionsStyle.DefaultStyles.GroupHeaderActive, OptionsStyle.DefaultStyles.GroupHeaderHotTracked and OptionsStyle.DefaultStyles.GroupHeaderPressed default styles. Individual groups can override these settings by assigning a custom style to the CustomStyles.Header, CustomStyles.HeaderActive, CustomStyles.HeaderHotTracked or CustomStyles.HeaderPressed properties of the group. The CaptionVAlignment method returns the VAlignment property value of the style assigned.

The CaptionVAlignment method can be used when handling the OnCustomDraw.GroupCaption event. It is useful if you don’t want to use custom text alignment.

The table below enumerates the available alignment values.

Value | Description
haLeft | Caption text is aligned to the left.
haCenter | Caption text is centered.
haRight | Caption text is aligned to the right.


TdxNavBarGroupViewInfo.Create

TdxNavBarGroupViewInfo

Creates and initializes an instance of the TdxNavBarGroupViewInfo class.

constructor Create(AViewInfo: TdxNavBarViewInfo; AGroup: TdxNavBarGroup);

Description

The Create method is used to instantiate a new TdxNavBarGroupViewInfo object. The AViewInfo parameter specifies the object owning the collection of TdxNavBarGroupViewInfo objects within the control. The AGroup parameter represents the group whose View information is contained in the created object.

You should have no need to use the constructor in your applications, as TdxNavBarGroupViewInfo objects with proper settings are automatically created and passed to the OnCustomDraw.GroupCaption, OnCustomDraw.GroupClientBackground, OnCustomDraw.GroupClientForeground and OnCalcGroupClientHeight events.


TdxNavBarGroupViewInfo.Destroy

TdxNavBarGroupViewInfo

Destroys the TdxNavBarGroupViewInfo object.

destructor Destroy; override;

Description

The destructor is called automatically when the corresponding group is deleted or the control is destroyed. You should have no need to use it in your applications.


TdxNavBarGroupViewInfo.GetCaptionHeight

TdxNavBarGroupViewInfo

Returns the height of the group header.

function GetCaptionHeight: Integer; virtual;

Description

Use the GetCaptionHeight function to determine height of the group header. You can also use the CaptionRect property to obtain the bounding rectangle of the group header.


TdxNavBarGroupViewInfo.GetImageHeight

TdxNavBarGroupViewInfo

Returns the height of the image displayed in the group header.

function GetImageHeight: Integer; virtual;

Description

Use the GetImageHeight function to determine height of the images displayed in the NavBar group header. You can also use the CaptionImageRect property to obtain the bounding rectangle of the group header image.

The result of the function depends on whether a large or small image is displayed within the group header.


TdxNavBarGroupViewInfo.GetImageWidth

TdxNavBarGroupViewInfo

Returns the width of the image displayed in the group header.

function GetImageWidth: Integer; virtual;

Description

Use the GetImageWidth function to determine width of the images displayed in the NavBar group header. You can also use the CaptionImageRect property to obtain the bounding rectangle of the group header image.

The result of the function depends on whether a large or small image is displayed within the group header.


TdxNavBarGroupViewInfo.GetLinkViewInfoByLink

TdxNavBarGroupViewInfo

Returns the object containing the View information of the specified link.

function GetLinkViewInfoByLink(ALink: TdxNavBarItemLink): TdxNavBarLinkViewInfo;

Description

Use the GetLinkViewInfoByLink function to get View information of a particular NavBar group link. The desired link is specified via the ALink parameter.


TdxNavBarGroupViewInfo.Group

TdxNavBarGroupViewInfo

Returns a reference to the group affected by this TdxNavBarGroupViewInfo object.

property Group: TdxNavBarGroup;

Description

Use this property when handling any of events that use the TdxNavBarGroupViewInfo object as the parameter. The Group property enables you to identify the group related to the event. For instance, you may use the OnCustomDraw.GroupCaption event to paint the header of a specific group in a custom manner. Since the event will fire for all groups in the NavBar control, you must check the Group property value to make sure that the desired group’s caption is being painted at the moment.

The Group property is also useful when you want to obtain specific group settings. For instance, when handling the OnCustomDraw.GroupCaption event, you may want to obtain the group’s caption text. This can be performed by reading the Caption property value of the object returned by the Group property.

ReadOnly Property


TdxNavBarGroupViewInfo.ImageIndex

TdxNavBarGroupViewInfo

Specifies the index of the image displayed in the NavBar group header.

function ImageIndex: Integer; virtual;

Description

Use the ImageIndex function when handling the OnCustomDraw.GroupCaption event. It enables you to obtain the image to be displayed within the group header. Note that the image is specified by its index within the source collection. You can get this collection by reading the ImageList property value.

The ImageIndex property is only useful if you don’t want to display a custom image within the group header.


TdxNavBarGroupViewInfo.ImageList

TdxNavBarGroupViewInfo

Returns the image list that contains the image displayed in the group header.

function ImageList: TCustomImageList; virtual;

Description

Use the ImageList property together with the ImageIndex property when handling the OnCustomDraw.GroupCaption event. These properties can be used to obtain the image to be displayed within the group header. Note that these properties are not useful if you want to display a custom image within the group header, or do not want to display any images.

Note: For 32-bit images, use the TcxImageList component shipped with the Express Cross Platform Library.


TdxNavBarGroupViewInfo.IndexOfLinkViewInfo

TdxNavBarGroupViewInfo

Returns the index of the link specified by its View information object.

function IndexOfLinkViewInfo(AViewInfo: TdxNavBarLinkViewInfo): Integer;

Description

The IndexOfLinkViewInfo function determines the index of a particular NavBar group link by its View information specified via the AViewInfo parameter.

You can use the GetLinkViewInfoByLink method to obtain the View information of a specific link using this link as the parameter.


TdxNavBarGroupViewInfo.IsCaptionImageVisible

TdxNavBarGroupViewInfo

Indicates whether the group header image is visible.

function IsCaptionImageVisible: Boolean;

Description

You can use the IsCaptionImageVisible method when handling the OnCustomDraw.GroupCaption event. If this method returns False, you don’t need to paint the group header image.


TdxNavBarGroupViewInfo.IsCaptionSignVisible

TdxNavBarGroupViewInfo

Indicates whether the group header sign is visible.

function IsCaptionSignVisible: Boolean;

Description

You can use the IsCaptionSignVisible method when handling the OnCustomDraw.GroupCaption event. If this method returns False, you don’t need to paint the group header sign.


TdxNavBarGroupViewInfo.IsCaptionUseSmallImages

TdxNavBarGroupViewInfo

Returns a value indicating whether the group caption uses small image.

function IsCaptionUseSmallImages: Boolean;

Description

Group headers can display images only when an Explorer Bar View is assigned to the control. The UseSmallImages property of the group specifies which image to use in this case.


TdxNavBarGroupViewInfo.IsCaptionVisible

TdxNavBarGroupViewInfo

Returns a value indicating whether the caption is visible within the group header.

function IsCaptionVisible: Boolean;

Description

You can use the IsCaptionVisible method when handling the OnCustomDraw.GroupCaption event. If this method returns False, you don’t need to paint the group caption text.


TdxNavBarGroupViewInfo.IsItemsVisible

TdxNavBarGroupViewInfo

Returns a value indicating whether this group’s links are currently visible.

function IsItemsVisible: Boolean;

Description

Links are visible when the owning group is expanded. The IsItemsVisible method returns True in this case. Otherwise, its content doesn’t need to be painted.


TdxNavBarGroupViewInfo.IsLinksUseSmallImages

TdxNavBarGroupViewInfo

Returns a value indicating whether links within this group use small images.

function IsLinksUseSmallImages: Boolean;

Description

The IsLinksUseSmallImages function is used to determine whether the group’s links use small images.

It is possible to define both small and large images to be displayed in the NavBar. Still only one kind of images can be displayed at one and the same time. To use small images with the group’s links you should set the LinksUseSmallImages property to True.


TdxNavBarGroupViewInfo.IsViewAsIconView

TdxNavBarGroupViewInfo

Returns a value indicating whether icon view is applied to the group.

function IsViewAsIconView: Boolean;

Description

This method returns True if the corresponding group’s ShowAsIconView property is set to True, and the currently applied View allows to use the icon view. Explorer Bar Views do not allow such links arrangement.


TdxNavBarGroupViewInfo.ItemCount

TdxNavBarGroupViewInfo

Returns the number of links in the group affected by this TdxNavBarGroupViewInfo object.

property ItemCount: Integer;

Description

Use the ItemCount property to determine the number of links in the current NavBar group. To get access to look & feel settings of a particular NavBar group link, you should use the Items property.

ReadOnly Property


TdxNavBarGroupViewInfo.Items

TdxNavBarGroupViewInfo

Provides indexed access to look & feel settings of link associated with the group.

property Items[Index: Integer]: TdxNavBarLinkViewInfo;

Description

Use the Items indexed property to obtain look & feel settings of a particular link associated with the group. The collection of links can be obtained via the Links property of the group. Use the Group property to access the group represented by the TdxNavBarGroupViewInfo object.

The Index parameter specifies the zero-based index of the link within the group. The total number of links in a group can be obtained via the ItemCount property.

ReadOnly Property


TdxNavBarGroupViewInfo.ItemsRect

TdxNavBarGroupViewInfo

Returns the bounding rectangle of the group client area.

property ItemsRect: TRect;

Description

Use the ItemsRect property when handling the OnCustomDraw.GroupClientBackground or OnCustomDraw.GroupClientForeground event. You may use this property to fill the client area with a specific brush, for instance.

ReadOnly Property


TdxNavBarGroupViewInfo.NavBar

TdxNavBarGroupViewInfo

Returns the NavBar control that owns the group.

property NavBar: TdxCustomNavBar;

Description

The NavBar property can be used in any of events that get the TdxNavBarGroupViewInfo object as the parameter. It may be useful if you want to obtain settings common to all groups of the control. For instance, you can use it to obtain the default style applied to group headers.

ReadOnly Property


TdxNavBarGroupViewInfo.Painter

TdxNavBarGroupViewInfo

Returns an object implementing the painting functionality of the NavBar control.

property Painter: TdxNavBarPainter;

Description

Commonly, you will not need to use this property in your applications.

ReadOnly Property


TdxNavBarGroupViewInfo.Rect

TdxNavBarGroupViewInfo

Returns the bounding rectangle of the whole NavBar group.

property Rect: TRect;

Description

Commonly, you will have no need to use this property in your applications, since there is no event that allows you to paint the group as a whole. You must paint the group header and its client area separately using the OnCustomDraw.GroupCaption and OnCustomDraw.GroupClientBackground events respectively.

ReadOnly Property


TdxNavBarGroupViewInfo.State

TdxNavBarGroupViewInfo

Returns the current state of the group header.

type

TdxNavBarObjectState = (sActive, sDisabled, sExpanded, sHotTracked, sPressed, sSelected, sSpecial, sFocused);

TdxNavBarObjectStates = set of TdxNavBarObjectState;

property State: TdxNavBarObjectStates;

Description

Use the State property when handling the OnCustomDraw.GroupCaption event. It enables you to distinguish between states of the group header due to user manipulations. Thus you may implement different painting for the hot-tracked, pressed group header, etc.

The table below briefly enumerates the states available with descriptions.

Value | Description
sActive | Indicates that a particular NavBar control group is active.
sExpanded | Indicates that a particular NavBar control group is expanded, i.e. its OptionsExpansion.Expanded property is set to True.
sHotTracked | Indicates that a particular NavBar control group is being hot-tracked.
sPressed | Indicates that a particular NavBar control group is pressed.
sSpecial | A particular NavBar element is active. Relates to groups in Explorer Bar Views only.
sFocused | A particular NavBar element is focused. An element can be focused if the NavBar control’s TabStop property is set to True.

Note: other states listed by the TdxNavBarObjectState enumeration are not in effect for group headers.

ReadOnly Property


TdxNavBarGroupViewInfo.ViewInfo

TdxNavBarGroupViewInfo

Provides access to the View information of the entire NavBar control.

property ViewInfo: TdxNavBarViewInfo;

Description

You can use the ViewInfo property to get access to settings common for all groups. Alternatively, you can use the ViewInfo.NavBar property to obtain the owner NavBar control.

ReadOnly Property


TdxNavBarLinkViewInfo.CaptionRect

TdxNavBarLinkViewInfo

Returns the bounding rectangle of the link caption.

property CaptionRect: TRect;

Description

Use the CaptionRect property when handling the OnCustomDraw.Link event to determine the rectangle where the link text should be located.

ReadOnly Property


TdxNavBarLinkViewInfo.Create

TdxNavBarLinkViewInfo

Creates an instance of the TdxNavBarLinkViewInfo object.

constructor Create(AGroupViewInfo: TdxNavBarGroupViewInfo; ALink: TdxNavBarItemLink);

Description

The Create method is used to create a new TdxNavBarLinkViewInfo object. The AGroupViewInfo parameter represents the View information of the group that owns the link corresponding to the created object. The ALink parameter specifies the link whose View information is stored by the new TdxNavBarLinkViewInfo object.

You should have no need to use the constructor in your applications, as TdxNavBarLinkViewInfo objects with proper settings are automatically created and passed to the OnCustomDraw.Link events.


TdxNavBarLinkViewInfo.Font

TdxNavBarLinkViewInfo

Returns the font used to paint the link caption.

function Font: TFont; virtual;

Description

Use the Font method to obtain the font settings of the link. This value is specified by the style applied to the corresponding item. Item style can be specified for all items within the control via the OptionsStyle.DefaultStyles.Item, OptionsStyle.DefaultStyles.ItemDisabled, OptionsStyle.DefaultStyles.ItemHotTracked and OptionsStyle.DefaultStyles.ItemPressed default styles. Individual items can override these settings by assigning a custom style to the CustomStyles.Item, CustomStyles.ItemDisabled, CustomStyles.ItemHotTracked and CustomStyles.ItemPressed properties of the item. The Font method returns the Font property value of the style assigned.

The Font method can be used when handling the OnCustomDraw.Link event. This is useful if you don’t want to use custom font to paint the link caption.


TdxNavBarLinkViewInfo.FontColor

TdxNavBarLinkViewInfo

Returns the font used to paint the link caption.

function FontColor: TColor; virtual;

Description

Use the FontColor method to obtain the font color of the link. This value is specified by the style applied to the corresponding item. Item style can be specified for all items within the control via the OptionsStyle.DefaultStyles.Item, OptionsStyle.DefaultStyles.ItemDisabled, OptionsStyle.DefaultStyles.ItemHotTracked and OptionsStyle.DefaultStyles.ItemPressed default styles. Individual items can override these settings by assigning a custom style to the CustomStyles.Item, CustomStyles.ItemDisabled, CustomStyles.ItemHotTracked and CustomStyles.ItemPressed properties of the item. The FontColor method returns the color specified by the Font property value of the style assigned.

The FontColor method can be used when handling the OnCustomDraw.Link event. This is useful if you don’t want to use custom font color to paint the link caption.


TdxNavBarLinkViewInfo.GetCaptionHeight

TdxNavBarLinkViewInfo

Returns height of the link caption.

function GetCaptionHeight: Integer; virtual;

Description

The GetCaptionHeight method returns the height of the link caption. You can also use the CaptionRect property to obtain the bounding rectangle of the link caption.


TdxNavBarLinkViewInfo.GetImageHeight

TdxNavBarLinkViewInfo

Returns the height of the image to be displayed within the link.

function GetImageHeight: Integer; virtual;

Description

Use the GetImageHeight function to determine the height of the image displayed within the link. You can also use the ImageRect property to obtain the bounding rectangle of the link image.

The result of the function depends on whether a large or a small image is displayed within the link.


TdxNavBarLinkViewInfo.GetImageWidth

TdxNavBarLinkViewInfo

Returns the width of the image to be displayed within the link.

function GetImageWidth: Integer; virtual;

Description

Use the GetImageHeight function to determine the width of the image displayed within the link. You can also use the ImageRect property to obtain the bounding rectangle of the link image.

The result of the function depends on whether a large or a small image is displayed within the link.


TdxNavBarLinkViewInfo.GroupViewInfo

TdxNavBarLinkViewInfo

Returns the View information for the group that owns the link.

property GroupViewInfo: TdxNavBarGroupViewInfo;

Description

Use the GroupViewInfo property to get an object of the TdxNavBarGroupViewInfo type which represents View information of the NavBar group to which the current links belongs.

ReadOnly Property


TdxNavBarLinkViewInfo.ImageIndex

TdxNavBarLinkViewInfo

Returns the index of the image to be displayed within the link.

function ImageIndex: Integer; virtual;

Description

Use the ImageIndex function when handling the OnCustomDraw.Link event to obtain the image to be displayed within the link. Note that the image is specified by its index within the source collection. You can get this collection by reading the ImageList property value.

The ImageIndex property is only useful if you don’t want to display a custom image within the group header.


TdxNavBarLinkViewInfo.ImageList

TdxNavBarLinkViewInfo

Specifies an image list.

function ImageList: TCustomImageList; virtual;

Description

Use this property together with the ImageIndex property when handling the OnCustomDraw.Link event to obtain the image to be displayed within the link. Note that these properties are not useful if you want to display a custom image within the group header, or do not want to display any images.

Note: For 32-bit images, use the TcxImageList component shipped with the Express Cross Platform Library.


TdxNavBarLinkViewInfo.ImageRect

TdxNavBarLinkViewInfo

Returns the bounding rectangle of the link image.

property ImageRect: TRect;

Description

Use the ImageRect property when handling the OnCustomDraw.Link event to determine the rectangle where the link image should be located.

You can obtain the image to be painted using the ImageIndex and ImageList methods. These methods should be used if you want to paint the image specified by the associated item’s settings.

ReadOnly Property


TdxNavBarLinkViewInfo.IsCaptionVisible

TdxNavBarLinkViewInfo

Indicates whether the link caption is visible.

function IsCaptionVisible: Boolean;

Description

Use this property when handling the OnCustomDraw.Link event to determine whether the link caption needs to be painted. Link captions are not visible if the icon view is applied to the owning group.


TdxNavBarLinkViewInfo.IsImageVisible

TdxNavBarLinkViewInfo

Indicates whether NavBar link caption image is visible.

function IsImageVisible: Boolean;

Description

Use the IsImageVisible property to determine whether the link image needs to be painted when handling the OnCustomDraw.Link event. The image may not be visible due to resizing the control, for instance.


TdxNavBarLinkViewInfo.Item

TdxNavBarLinkViewInfo

Returns the item associated with the link.

property Item: TdxNavBarItem;

Description

Use the Item property to get access to an object of the TdxNavBarItem type which represents a NavBar item represented by the link. This can be used to get the caption, hint text, etc.

ReadOnly Property


TdxNavBarLinkViewInfo.Link

TdxNavBarLinkViewInfo

Returns the link affected by this TdxNavBarLinkViewInfo object.

property Link: TdxNavBarItemLink;

Description

Use the Link property to determine an object of the TdxNavBarItemLink type which represents a NavBar link to which the View information refers. You can obtain the item associated with this link via the Item property.

ReadOnly Property


TdxNavBarLinkViewInfo.NavBar

TdxNavBarLinkViewInfo

Returns the NavBar control that owns the link.

property NavBar: TdxCustomNavBar;

Description

Use the NavBar property to determine an object of the TdxCustomNavBar type which represents a NavBar control containing the link. This enables you to access the settings specified by the control and applied to all links. For instance, you can use this property to access default styles of links.

ReadOnly Property


TdxNavBarLinkViewInfo.Painter

TdxNavBarLinkViewInfo

Returns an object that implements the painting functionality of the NavBar control.

property Painter: TdxNavBarPainter;

Description

Commonly, you will have no need to use this property in your applications.

ReadOnly Property


TdxNavBarLinkViewInfo.Rect

TdxNavBarLinkViewInfo

Returns the bounding rectangle of the entire link.

property Rect: TRect;

Description

You can use the Rect property when handling the OnCustomDraw.Link event to determine where to position the link contents. This property is useful if you don’t want to arrange link elements in default manner. Otherwise, you should use the CaptionRect and ImageRect properties to locate the caption text and image.

ReadOnly Property


TdxNavBarLinkViewInfo.SelectionRect

TdxNavBarLinkViewInfo

Returns the bounding rectangle of the selection.

function SelectionRect: TRect; virtual;

Description

Use this property to paint the selection when handling the OnCustomDraw.Link event. Note that the selection must be painted when the State property contains the sSelected value.


TdxNavBarLinkViewInfo.State

TdxNavBarLinkViewInfo

Returns the current state of the NavBar link.

type

TdxNavBarObjectState = (sActive, sDisabled, sExpanded, sHotTracked, sPressed, sSelected, sSpecial, sFocused);

TdxNavBarObjectStates = set of TdxNavBarObjectState;

property State: TdxNavBarObjectStates;

Description

Use the State property when handling the OnCustomDraw.Link event. It enables you to distinguish between link states due to user manipulations. Thus, you can paint links differently when they are hot-tracked, pressed, etc.

The State property can return one of the following values.

Value | Description
sDisabled | Indicates that the link is disabled. (The associated item’s Enabled property value is False).
sHotTracked | Indicates that the link is currently being hot-tracked.
sPressed | Indicates that the link is currently being pressed.
sSelected | Indicates that the link is selected.
sFocused | A particular NavBar element is focused. An element can be focused if the NavBar control’s TabStop property is set to True.

Note: other values listed by the TdxNavBarObjectState enumeration are not available for the State property.

ReadOnly Property


TdxNavBarLinkViewInfo.Style

TdxNavBarLinkViewInfo

Returns the default style applied to the link.

function Style: TdxNavBarBaseStyle; virtual;

Description

The Style property returns the default style assigned to the link with respect to its state. Thus it can return either the OptionsStyle.DefaultStyles.Item, OptionsStyle.DefaultStyles.ItemDisabled, OptionsStyle.DefaultStyles.ItemHotTracked and OptionsStyle.DefaultStyles.ItemPressed style.

Use this property when handling the OnCustomDraw.Link event. You can change property values of the object obtained via this property to change the look & feel of links. Using such a technique is an alternative to specifying custom styles for each item of the NavBar control. Moreover, this enables you to apply various styles to links dynamically and provide various styles to links corresponding to the same item.

Note that if you want a link to be painted in default manner but with modified styles, you should leave the AHandled parameter of the OnCustomDraw.Link event unchanged (set to False).

Note: this property returns the default style applied to all links within the control. Use the StyleItem property to access the custom style applied to the link.


TdxNavBarLinkViewInfo.StyleItem

TdxNavBarLinkViewInfo

Specifies the style item assigned to the NavBar link.

function StyleItem: TdxNavBarStyleItem; virtual;

Description

The StyleItem property returns the custom style assigned to the link with respect to its current state. Thus it can return either the CustomStyles.Item, CustomStyles.ItemDisabled, CustomStyles.ItemHotTracked and CustomStyles.ItemPressed property value of the corresponding item. If the desired custom style is not set, this method returns nil.

Use this property when handling the OnCustomDraw.Link event. You can change property values of the object to change the look & feel of links. Using this technique is an alternative to specifying custom styles for each link of the NavBar control. Moreover, this enables you to apply various styles to links dynamically and provide various styles to links corresponding to the same item.

Note that if you want a link to be painted in default manner but with modified styles, you should leave the AHandled parameter of the OnCustomDraw.Link event unchanged (set to False).

Note: This property returns the custom style applied to the link. Use the Style property to access the default style applied to all links.


TdxNavBarLinkViewInfo.ViewInfo

TdxNavBarLinkViewInfo

Provides access to the View information of the entire NavBar control.

property ViewInfo: TdxNavBarViewInfo;

Description

Use the ViewInfo property to get access to the View information of the NavBar control to which the current link belongs. This can be used to obtain settings common for all links within the control.

ReadOnly Property


TdxNavBarViewInfo.ActiveGroupViewInfo

TdxNavBarViewInfo

Returns the View information for the currently active group.

function ActiveGroupViewInfo: TdxNavBarGroupViewInfo;

Description

Active group makes sense only when one of the Side Bar Views is applied to the control. Otherwise, the ActiveGroupViewInfo method returns the View information for the first group within the control’s group collection.

Commonly, you will have no need to use this method in your applications.


TdxNavBarViewInfo.BgAlphaBlend

TdxNavBarViewInfo

Returns the starting alpha blending component of the control’s background color.

function BgAlphaBlend: Byte; virtual;

Description

Use the BgAlphaBlend method to obtain the starting alpha blending value of the control’s background color. This value is specified by the control’s background style. The style is set via the OptionsStyle.DefaultStyles.Background default style. These settings, in turn, can be overridden by assigning a custom style to the OptionsStyle.CustomStyles.Background property of the NavBar control. The BgAlphaBlend method returns the AlphaBlending property value of the style assigned.

The BgAlphaBlend method can be used when handling the OnCustomDraw.Background event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarViewInfo.BgAlphaBlend2

TdxNavBarViewInfo

Returns the ending alpha blending component of the control’s background color.

function BgAlphaBlend2: Byte; virtual;

Description

Use the BgAlphaBlend2 method to obtain the ending alpha blending value of the control’s background color. This value is specified by the control’s background style. The style is set via the OptionsStyle.DefaultStyles.Background default style. These settings, in turn, can be overridden by assigning a custom style to the OptionsStyle.CustomStyles.Background property of the NavBar control. The BgAlphaBlend2 method returns the AlphaBlending2 property value of the style assigned.

The BgAlphaBlend2 method can be used when handling the OnCustomDraw.Background event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarViewInfo.BgBackColor

TdxNavBarViewInfo

Returns the starting background color of the control.

function BgBackColor: TColor; virtual;

Description

Use the BgBackColor method to obtain the starting background color applied to the control. This value is specified by the control’s background style. The style is set via the OptionsStyle.DefaultStyles.Background default style. These settings, in turn, can be overridden by assigning a custom style to the OptionsStyle.CustomStyles.Background property of the NavBar control. The BgBackColor method returns the BackColor property value of the style assigned.

The BgBackColor method can be used when handling the OnCustomDraw.Background event. It is useful if you don’t want to use custom colors of the control’s background.


TdxNavBarViewInfo.BgBackColor2

TdxNavBarViewInfo

Returns the ending background color of the control.

function BgBackColor2: TColor; virtual;

Description

Use the BgBackColor2 method to obtain the ending background color applied to the control. This value is specified by the control’s background style. The style is set via the OptionsStyle.DefaultStyles.Background default style. These settings, in turn, can be overridden by assigning a custom style to the OptionsStyle.CustomStyles.Background property of the NavBar control. The BgBackColor2 method returns the BackColor2 property value of the style assigned.

The BgBackColor2 method can be used when handling the OnCustomDraw.Background event. It is useful if you don’t want to use custom colors of the control’s background.


TdxNavBarViewInfo.BgGradientMode

TdxNavBarViewInfo

Returns the gradient direction used to fill the control’s background.

function BgGradientMode: TdxBarStyleGradientMode; virtual;

Description

Use the BgGradientMode method to obtain the gradient direction used to fill the background of the control. This value is specified by the control’s background style. The style is set via the OptionsStyle.DefaultStyles.Background default style. These settings, in turn, can be overridden by assigning a custom style to the OptionsStyle.CustomStyles.Background property of the NavBar control. The BgGradientMode method returns the GradientMode property value of the style assigned.

The BgGradientMode method can be used when handling the OnCustomDraw.Background event. It is useful if you don’t want to use custom gradient direction to fill the background.


TdxNavBarViewInfo.BgImage

TdxNavBarViewInfo

Returns the control’s background image.

function BgImage: TPicture; virtual;

Description

Use the BgImage method to obtain the image used to fill the background of the control. This value is specified by the control’s background style. The style is set via the OptionsStyle.DefaultStyles.Background default style. These settings, in turn, can be overridden by assigning a custom style to the OptionsStyle.CustomStyles.Background property of the NavBar control. The BgImage method returns the Image property value of the style assigned.

The BgImage method can be used when handling the OnCustomDraw.Background event. It is useful if you don’t want to use custom image to fill the background.


TdxNavBarViewInfo.BottomButtonAlphaBlend

TdxNavBarViewInfo

Returns the starting alpha component of the bottom scroll button’s background color.

function BottomButtonAlphaBlend: Byte; virtual;

Description

Use the BottomButtonAlphaBlend method to obtain the starting alpha blending value of the bottom scroll button’s background color. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The BottomButtonAlphaBlend method returns the AlphaBlending property value of the style assigned.

The BottomButtonAlphaBlend method can be used when handling the OnCustomDraw.BottomScrollButton event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarViewInfo.BottomButtonAlphaBlend2

TdxNavBarViewInfo

Returns the ending alpha component of the bottom scroll button’s background color.

function BottomButtonAlphaBlend2: Byte; virtual;

Description

Use the BottomButtonAlphaBlend2 method to obtain the ending alpha blending value of the bottom scroll button’s background color. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The BottomButtonAlphaBlend2 method returns the AlphaBlending2 property value of the style assigned.

The BottomButtonAlphaBlend2 method can be used when handling the OnCustomDraw.BottomScrollButton event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarViewInfo.BottomButtonBackColor

TdxNavBarViewInfo

Returns the starting background color of the bottom scroll button.

function BottomButtonBackColor: TColor; virtual;

Description

Use the BottomButtonBackColor method to obtain the starting background color of the bottom scroll button. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The BottomButtonBackColor method returns the BackColor property value of the style assigned.

The BottomButtonBackColor method can be used when handling the OnCustomDraw.BottomScrollButton event. It is useful if you don’t want to use custom background colors.


TdxNavBarViewInfo.BottomButtonBackColor2

TdxNavBarViewInfo

Returns the ending background color of the bottom scroll button.

function BottomButtonBackColor2: TColor; virtual;

Description

Use the BottomButtonBackColor2 method to obtain the ending background color of the bottom scroll button. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The BottomButtonBackColor2 method returns the BackColor2 property value of the style assigned.

The BottomButtonBackColor2 method can be used when handling the OnCustomDraw.BottomScrollButton event. It is useful if you don’t want to use custom background colors.


TdxNavBarViewInfo.BottomButtonGradientMode

TdxNavBarViewInfo

Returns the gradient direction used to fill the bottom scroll button.

function BottomButtonGradientMode: TdxBarStyleGradientMode; virtual;

Description

Use the BottomButtonGradientMode method to obtain the direction of the gradient that fills the bottom scroll button. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The BottomButtonGradientMode method returns the GradientMode property value of the style assigned.

The BottomButtonGradientMode method can be used when handling the OnCustomDraw.BottomScrollButton event. It is useful if you don’t want to use custom gradient direction.


TdxNavBarViewInfo.BottomButtonImage

TdxNavBarViewInfo

Returns the background image of the bottom scroll button.

function BottomButtonImage: TPicture; virtual;

Description

Use the BottomButtonImage method to obtain the background image assigned to the bottom scroll button. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The BottomButtonImage method returns the Image property value of the style assigned.

The BottomButtonImage method can be used when handling the OnCustomDraw.BottomScrollButton event. It is useful if you don’t want to use custom background image.


TdxNavBarViewInfo.BottomButtonStyle

TdxNavBarViewInfo

Returns the default style assigned to the bottom button with respect to its current state.

function BottomButtonStyle: TdxNavBarBaseStyle; virtual;

Description

The BottomButtonStyle property returns the default style assigned to the bottom scroll button with respect to its state. Thus it can return either the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed style.

Use this property when handling the OnCustomDraw.BottomScrollButton event. You can change property values of the object obtained via this property to change the look & feel of the bottom scroll button. Note that if you want a button to be painted in default manner but with modified styles, you should leave the AHandled parameter of the OnCustomDraw.BottomScrollButton event unchanged (set to False).

Note: this property returns the default style applied to scroll buttons. Use the BottomButtonStyleItem property to access the custom style applied to them.


TdxNavBarViewInfo.BottomButtonStyleItem

TdxNavBarViewInfo

Returns the custom style assigned to the bottom scroll button with respect to its state.

function BottomButtonStyleItem: TdxNavBarStyleItem; virtual;

Description

Use the BottomButtonStyleItem function to get access to the custom style assigned to the bottom scroll button.

The result of the function depends on the bottom scroll button state. If the button is pressed the function returns the OptionsStyle.CustomStyles.ButtonPressed style item. If the button is hot-tracked the function returns the OptionsStyle.CustomStyles.ButtonHotTracked object. In the other cases the function returns the OptionsStyle.CustomStyles.Button style item. Note that if no custom style is assigned for the current button state, nil is returned.

You can change properties of the object returned by the BottomButtonStyleItem method when handling the OnCustomDraw.BottomScrollButton event. This enables you to change the style of the bottom scroll button dynamically. Note that if you want a button to be painted in default manner but with modified styles, you should leave the AHandled parameter of the OnCustomDraw.BottomScrollButton event unchanged (set to False).


TdxNavBarViewInfo.BottomScrollButtonRect

TdxNavBarViewInfo

Returns the bounding rectangle of the bottom scroll button.

property BottomScrollButtonRect: TRect;

Description

Use the BottomScrollButtonRect property when handling the OnCustomDraw.BottomScrollButton event. This property enables you to identify the location and size of the button to be painted.

ReadOnly Property


TdxNavBarViewInfo.BottomScrollButtonState

TdxNavBarViewInfo

Returns the state of the bottom scroll button.

type

TdxNavBarObjectState = (sActive, sDisabled, sExpanded, sHotTracked, sPressed, sSelected, sSpecial, sFocused);

TdxNavBarObjectStates = set of TdxNavBarObjectState;

property BottomScrollButtonState: TdxNavBarObjectStates;

Description

Use the BottomScrollButtonState property when handling the OnCustomDraw.BottomScrollButton event. It enables you to distinguish between button states due to user manipulations. Thus, you can paint the button differently when it is hot-tracked, pressed or in the normal state.

The BottomScrollButtonState property can return one of the following values.

Value | Description
sHotTracked | Indicates that the button is currently being hot-tracked.
sDisabled | Indicates that the button is disabled. This can take place only when the VSToolBoxView View is applied to the control. In other Views, scroll buttons disappear when they are not needed.
sPressed | Indicates that the button is currently being pressed.

Note: other values listed by the TdxNavBarObjectState enumeration are not available for the BottomScrollButtonState property.

ReadOnly Property


TdxNavBarViewInfo.Create

TdxNavBarViewInfo

Creates a new instance of the TdxNavBarViewInfo object.

constructor Create(APainter: TdxNavBarPainter); virtual;

Description

The constructor is used to create a new TdxNavBarViewInfo object containing View information for the NavBar control. The APainter parameter specifies the object implementing the painting functionality of the NavBar.

You don’t need to use this constructor in your applications. The TdxNavBarViewInfo object is created automatically.


TdxNavBarViewInfo.Destroy

TdxNavBarViewInfo

Destroys the TdxNavBarViewInfo object.

destructor Destroy; override;

Description

The Destroy method is used to destroy an instance of the TdxNavBarViewInfo type. You do not need to use this method in applications, since this object is disposed automatically.


TdxNavBarViewInfo.DragDropGroupTargetAlphaBlend

TdxNavBarViewInfo

Returns the starting alpha component of the drag & drop target group’s background color.

function DragDropGroupTargetAlphaBlend: Byte; virtual;

Description

The DragDropGroupTargetAlphaBlend method is used to obtain the starting alpha blending value of the drag & drop target group’s background color. This value is specified by the corresponding style. The style can be set via the OptionsStyle.DefaultStyles.DropTargetGroup default style or by assigning a custom style to the OptionsStyle.CustomStyles.DropTargetGroup property. Custom style settings are more priority. The DragDropGroupTargetAlphaBlend method returns the AlphaBlending property value of the style assigned.


TdxNavBarViewInfo.DragDropGroupTargetAlphaBlend2

TdxNavBarViewInfo

Returns the ending alpha component of the drag & drop target group’s background color.

function DragDropGroupTargetAlphaBlend2: Byte; virtual;

Description

The DragDropGroupTargetAlphaBlend2 method is used to obtain the ending alpha blending value of the drag & drop target group’s background color. This value is specified by the corresponding style. The style can be set via the OptionsStyle.DefaultStyles.DropTargetGroup default style or by assigning a custom style to the OptionsStyle.CustomStyles.DropTargetGroup property. Custom style settings are more priority. The DragDropGroupTargetAlphaBlend2 method returns the AlphaBlending2 property value of the style assigned.


TdxNavBarViewInfo.DragDropGroupTargetBackColor

TdxNavBarViewInfo

Returns the starting background color of the drag & drop target group.

function DragDropGroupTargetBackColor: TColor; virtual;

Description

The DragDropGroupTargetBackColor method is used to obtain the starting background color of the drag & drop target group. This value is specified by the corresponding style. The style can be set via the OptionsStyle.DefaultStyles.DropTargetGroup default style or by assigning a custom style to the OptionsStyle.CustomStyles.DropTargetGroup property. Custom style settings are more priority. The DragDropGroupTargetBackColor method returns the BackColor property value of the style assigned.


TdxNavBarViewInfo.DragDropGroupTargetBackColor2

TdxNavBarViewInfo

Returns the ending background color of the drag & drop target group.

function DragDropGroupTargetBackColor2: TColor; virtual;

Description

The DragDropGroupTargetBackColor2 method is used to obtain the ending background color of the drag & drop target group. This value is specified by the corresponding style. The style can be set via the OptionsStyle.DefaultStyles.DropTargetGroup default style or by assigning a custom style to the OptionsStyle.CustomStyles.DropTargetGroup property. Custom style settings are more priority. The DragDropGroupTargetBackColor2 method returns the BackColor2 property value of the style assigned.


TdxNavBarViewInfo.DragDropGroupTargetGradient

TdxNavBarViewInfo

Returns the gradient direction used to fill the drag & drop target group’s background.

function DragDropGroupTargetGradient: TdxBarStyleGradientMode; virtual;

Description

The DragDropGroupTargetGradient method is used to obtain the direction of the gradient that fills the drag & drop target group. This value is specified by the corresponding style. The style can be set via the OptionsStyle.DefaultStyles.DropTargetGroup default style or by assigning a custom style to the OptionsStyle.CustomStyles.DropTargetGroup property. Custom style settings are more priority. The DragDropGroupTargetGradient method returns the GradientMode property value of the style assigned.


TdxNavBarViewInfo.DragDropItemTargetBackColor

TdxNavBarViewInfo

Returns the background color of the line representing the drag & drop target link.

function DragDropItemTargetBackColor: TColor; virtual;

Description

The DragDropItemTargetBackColor method is used to obtain the starting background color of the line that identifies the target position of the dragged link. This value is specified by the corresponding style. The style can be set via the OptionsStyle.DefaultStyles.DropTargetLink default style or by assigning a custom style to the OptionsStyle.CustomStyles.DropTargetLink property. Custom style settings are more priority. The DragDropItemTargetBackColor method returns the BackColor property value of the style assigned.


TdxNavBarViewInfo.GetGroupAtCaptionPos

TdxNavBarViewInfo

Returns the group whose header is located under the specified point.

function GetGroupAtCaptionPos(pt: TPoint): TdxNavBarGroup;

Description

The GetGroupAtCaptionPos method can be used to determine whether a point is located in a group header. If the pt parameter value specifies the point, which is over a group header, the corresponding group is returned. Otherwise, the GetGroupAtCaptionPos method returns nil.


TdxNavBarViewInfo.GetGroupAtItemsPos

TdxNavBarViewInfo

Returns a group whose client area is located under the specified point.

function GetGroupAtItemsPos(pt: TPoint): TdxNavBarGroup;

Description

The GetGroupAtCaptionPos method can be used to determine whether a point is located in a group’s client area. If the pt parameter value specifies the point, which is over a group’s client area, the corresponding group is returned. Otherwise, the GetGroupAtItemsPos method returns nil.


TdxNavBarViewInfo.GetGroupViewInfoAtCaptionPos

TdxNavBarViewInfo

Returns the View information for the group whose header is located under the specified point.

function GetGroupViewInfoAtCaptionPos(pt: TPoint): TdxNavBarGroupViewInfo; virtual;

Description

The GetGroupViewInfoAtCaptionPos method determines whether the pt parameter specifies the point located over a group header. If so, the View information for the corresponding group is returned. Otherwise, the GetGroupViewInfoAtCaptionPos method returns nil.


TdxNavBarViewInfo.GetGroupViewInfoAtItemsPos

TdxNavBarViewInfo

Returns the View information for the group whose client area is located under the specified point.

function GetGroupViewInfoAtItemsPos(pt: TPoint): TdxNavBarGroupViewInfo; virtual;

Description

The GetGroupViewInfoAtItemsPos method determines whether the pt parameter specifies the point located over a group’s client area. If so, the View information for the corresponding group is returned. Otherwise, the GetGroupViewInfoAtItemsPos method returns nil.


TdxNavBarViewInfo.GetGroupViewInfoByGroup

TdxNavBarViewInfo

Returns the View information for the specified group.

function GetGroupViewInfoByGroup(AGroup: TdxNavBarGroup): TdxNavBarGroupViewInfo;

Description

The GetGroupViewInfoByGroup method enables you to obtain the View information for the desired group. The group is specified by the AGroup parameter. Using this method is the alternative to using the Groups property that Returns View information of groups by their indexes.


TdxNavBarViewInfo.GetLinkAtPos

TdxNavBarViewInfo

Returns the link located under the specified point.

function GetLinkAtPos(pt: TPoint): TdxNavBarItemLink;

Description

The GetLinkAtPos method is used to obtain the link located at the specified position. The position is specified by point passed as the pt parameter. If no link is located under the specified point, the method returns nil.


TdxNavBarViewInfo.GetLinkAtSelectedPos

TdxNavBarViewInfo

Returns the link whose image or caption is located under the specified point.

function GetLinkAtSelectedPos(pt: TPoint): TdxNavBarItemLink;

Description

The GetSelectedLinkAtPos method determines whether the specified point is over a link image or a link caption. If so, the corresponding link object is returned. Otherwise, the GetSelectedLinkAtPos method returns nil. The tested point is specified by the pt parameter.

The GetLinkAtPos and GetSelectedLinkAtPos methods are not identical, since the point can be located over the link’s bounding rectangle, but outside its caption and image rectangles.


TdxNavBarViewInfo.GetLinksAtDragPosition

TdxNavBarViewInfo

Returns the index the dragged link will have if it is dropped.

function GetLinksAtDragPosition(pt: TPoint; var ItemGroup: TdxNavBarGroup; var Item1, Item2: TdxNavBarItemLink): Integer;

Description

The GetLinksAtDragPosition function is used internally to handle drag & drop operations. The pt parameter specifies point at which the link is currently located. The method returns the index that link will have if it is dropped. This method also initializes the ItemGroup, Item1 and Item2 parameters with the target group and links that will be located before and after the dropped one.

If the link located at the specified point cannot be dropped, the method returns –1.


TdxNavBarViewInfo.GetLinkViewInfoAtPos

TdxNavBarViewInfo

Returns the View information for the link located under the specified point.

function GetLinkViewInfoAtPos(pt: TPoint): TdxNavBarLinkViewInfo; virtual;

Description

The GetLinkViewInfoAtPos method determines whether the specified point is located over a link. If so, the link’s View information is returned. Otherwise, the GetLinkViewInfoAtPos method returns nil.

The tested point is specified by the pt parameter.


TdxNavBarViewInfo.GetLinkViewInfoAtSelectedPos

TdxNavBarViewInfo

Returns the View information for the link whose caption or image is located under the specified point.

function GetLinkViewInfoAtSelectedPos(pt: TPoint): TdxNavBarLinkViewInfo; virtual;

Description

The GetSelectedLinkViewInfoAtPos method determines whether the specified point is over a link image or a link caption. If so, the corresponding link’s View information object is returned. Otherwise, the GetSelectedLinkViewInfoAtPos method returns nil. The tested point is specified by the pt parameter.

The GetLinkViewInfoAtPos and GetSelectedLinkViewInfoAtPos methods are not identical, since the point can be located over the link’s bounding rectangle, but outside its caption and image rectangles.


TdxNavBarViewInfo.GetLinkViewInfoByLink

TdxNavBarViewInfo

Returns the View information of the specified link.

function GetLinkViewInfoByLink(ALink: TdxNavBarItemLink): TdxNavBarLinkViewInfo;

Description

The GetLinkViewInfoByLink function is used to get an object of the TdxNavBarLinkViewInfo type which represents the View information of the specified link. The desired link is specified by the ALink parameter.


TdxNavBarViewInfo.GetViewInfoAtDragPosition

TdxNavBarViewInfo

Returns the index the dragged link will have if it is dropped.

function GetViewInfoAtDragPosition(pt: TPoint; var ItemGroup: TdxNavBarGroupViewInfo; var Item1, Item2: TdxNavBarLinkViewInfo): Integer; virtual;

Description

The GetViewInfoAtDragPosition function is used internally to handle drag & drop operations. The pt parameter specifies point at which the link is currently located. The method returns the index that link will have if it is dropped. This method also initializes the ItemGroup parameter with the target group. The Item1 and Item2 objects are initialized with the View information for links that will be located before and after the dropped one.

If the link located at the specified point cannot be dropped, the method returns –1.


TdxNavBarViewInfo.GroupCount

TdxNavBarViewInfo

Returns the number of groups in the NavBar control.

property GroupCount: Integer;

Description

The GroupCount property can be used to determine the number of groups in the NavBar control. View information of individual groups can be obtained via the Groups property. You can use these two properties to traverse through groups and obtain their View settings.

ReadOnly Property


TdxNavBarViewInfo.Groups

TdxNavBarViewInfo

Provides indexed access to the View information of individual groups.

property Groups[Index: Integer]: TdxNavBarGroupViewInfo;

Description

Use the Groups property to obtain an object of the TdxNavBarGroupViewInfo type which contains the View information of a specific NavBar group. The Index parameter specifies zero-based index of the desired group. The total number of groups can be obtained via the GroupCount property.

You can use the Groups and GroupCount properties to traverse through groups and obtain their View settings.

ReadOnly Property


TdxNavBarViewInfo.HintAlphaBlend

TdxNavBarViewInfo

Returns the starting alpha component of the hint’s background.

function HintAlphaBlend: Byte; virtual;

Description

The HintAlphaBlend method is used to obtain the starting alpha blending value of the hint’s background color. This value is specified by the corresponding style. The style can be applied either by the OptionsStyle.DefaultStyles.Hint default style or by assigning a custom style to the OptionsStyle.CustomStyles.Hint property of the NavBar control. The custom style settings are more priority. The HintAlphaBlend method returns the AlphaBlending property value of the style assigned.


TdxNavBarViewInfo.HintAlphaBlend2

TdxNavBarViewInfo

Returns the ending alpha component of the hint’s background.

function HintAlphaBlend2: Byte; virtual;

Description

The HintAlphaBlend2 method is used to obtain the ending alpha blending value of the hint’s background color. This value is specified by the corresponding style. The style can be applied either by the OptionsStyle.DefaultStyles.Hint default style or by assigning a custom style to the OptionsStyle.CustomStyles.Hint property of the NavBar control. The custom style settings are more priority. The HintAlphaBlend2 method returns the AlphaBlending2 property value of the style assigned.


TdxNavBarViewInfo.HintBackColor

TdxNavBarViewInfo

Returns the starting background color of the hint.

function HintBackColor: TColor; virtual;

Description

The HintBackColor method is used to obtain the starting background color applied to the hint. This value is specified by the corresponding style. The style can be applied either by the OptionsStyle.DefaultStyles.Hint default style or by assigning a custom style to the OptionsStyle.CustomStyles.Hint property of the NavBar control. The custom style settings are more priority. The HintBackColor method returns the BackColor property value of the style assigned.


TdxNavBarViewInfo.HintBackColor2

TdxNavBarViewInfo

Returns the ending background color of the hint.

function HintBackColor2: TColor; virtual;

Description

The HintBackColor2 method is used to obtain the ending background color applied to the hint. This value is specified by the corresponding style. The style can be applied either by the OptionsStyle.DefaultStyles.Hint default style or by assigning a custom style to the OptionsStyle.CustomStyles.Hint property of the NavBar control. The custom style settings are more priority. The HintBackColor2 method returns the BackColor2 property value of the style assigned.


TdxNavBarViewInfo.HintFont

TdxNavBarViewInfo

Returns the font settings applied to the hint text.

function HintFont: TFont; virtual;

Description

The HintFont method is used to obtain the font used to paint the hint text. This value is specified by the corresponding style. The style can be applied either by the OptionsStyle.CustomStyles.Hint default style or by assigning a custom style to the OptionsStyle.CustomStyles.Hint property of the NavBar control. The custom style settings are more priority. The HintFont method returns the Font property value of the style assigned.


TdxNavBarViewInfo.HintGradientMode

TdxNavBarViewInfo

Returns the direction of the gradient that fills the hint background.

function HintGradientMode: TdxBarStyleGradientMode; virtual;

Description

The HintGradientMode method is used to obtain the gradient direction used to fill the hint’s background. This value is specified by the corresponding style. The style can be applied either by the OptionsStyle.CustomStyles.Hint default style or by assigning a custom style to the OptionsStyle.CustomStyles.Hint property of the NavBar control. The custom style settings are more priority. The HintGradientMode method returns the GradientMode property value of the style assigned.


TdxNavBarViewInfo.HintImage

TdxNavBarViewInfo

Returns the background image assigned to the hint.

function HintImage: TPicture; virtual;

Description

The HintImage method is used to obtain hint’s background image. This value is specified by the corresponding style. The style can be applied either by the OptionsStyle.CustomStyles.Hint default style or by assigning a custom style to the OptionsStyle.CustomStyles.Hint property of the NavBar control. The custom style settings are more priority. The HintImage method returns the Image property value of the style assigned.


TdxNavBarViewInfo.HintRect

TdxNavBarViewInfo

Returns the bounding rectangle of the hint to be displayed.

property HintRect: TRect;

Description

The HintRect property is used to determine dimensions of a hint window rectangle. Commonly, you will have no need to use this property in applications. You can specify the hint bounds manually by handling the OnCalcLinkHintRect and OnCalcGroupHintRect events and modifying their corresponding parameter.

ReadOnly Property


TdxNavBarViewInfo.HintText

TdxNavBarViewInfo

Returns the text of the hint to be displayed.

property HintText: string;

Description

The HintRect property is used to determine the text of the hint to be displayed. Commonly, you will have no need to use this property in applications.

Please refer to the Group & Link Hints topic for details on specifying the content of hints.

ReadOnly Property


TdxNavBarViewInfo.IndexOfGroupViewInfo

TdxNavBarViewInfo

Returns the index of the group by its View information.

function IndexOfGroupViewInfo(AViewInfo: TdxNavBarGroupViewInfo): Integer;

Description

The IndexOfGroupViewInfo searches for the group that has the View information as specified by the AViewInfo parameter. If such a group has been found, its zero-based index is returned. Otherwise, the IndexOfGroupViewInfo method returns –1.


TdxNavBarViewInfo.IsBottomScrollButtonVisible

TdxNavBarViewInfo

Returns a value indicating whether the bottom scroll button is visible.

function IsBottomScrollButtonVisible: Boolean;

Description

The IsBottomScrollButtonVisible method returns True is the bottom scroll button needs to be displayed. Otherwise, it returns False. Commonly, you will have no need to use this method in your applications.


TdxNavBarViewInfo.IsPtBottomScrollButton

TdxNavBarViewInfo

Returns a value indicating whether the specified point is in the bottom scroll button’s area.

function IsPtBottomScrollButton(pt: TPoint): Boolean;

Description

The IsPtBottomScrollButton function is used to determine whether specified point is located within the boundaries of the bottom scroll button. The pt parameter specifies an object of the TPoint type which represents the tested point’s coordinates.


TdxNavBarViewInfo.IsPtTopScrollButton

TdxNavBarViewInfo

Returns a value indicating whether the specified point is in the top scroll button’s area.

function IsPtTopScrollButton(pt: TPoint): Boolean;

Description

The IsPtTopScrollButton function is used to determine whether specified point is located within the boundaries of the top scroll button. The pt parameter specifies an object of the TPoint type which represents the tested point’s coordinates.


TdxNavBarViewInfo.IsTopScrollButtonVisible

TdxNavBarViewInfo

Returns a value indicating whether the top scroll button is visible.

function IsTopScrollButtonVisible: Boolean;

Description

The IsTopScrollButtonVisible method returns True is the top scroll button needs to be displayed. Otherwise, it returns False. Commonly, you will have no need to use this method in your applications.


TdxNavBarViewInfo.NavBar

TdxNavBarViewInfo

Returns the NavBar control whose View information is represented by this TdxNavBarViewInfo object.

property NavBar: TdxCustomNavBar;

Description

You can use this property to gain access to the common settings of the NavBar control. For instance, you can use it to access default styles applied to the control.

ReadOnly Property


TdxNavBarViewInfo.Painter

TdxNavBarViewInfo

Returns an object that implements the painting functionality of the NavBar control.

property Painter: TdxNavBarPainter;

Description

Commonly, you will have no need to use this property in your applications.

ReadOnly Property


TdxNavBarViewInfo.TopButtonAlphaBlend

TdxNavBarViewInfo

Returns the starting alpha component of the top scroll button’s background color.

function TopButtonAlphaBlend: Byte; virtual;

Description

Use the TopButtonAlphaBlend method to obtain the starting alpha blending value of the top scroll button’s background color. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The TopButtonAlphaBlend method returns the AlphaBlending property value of the style assigned.

The TopButtonAlphaBlend method can be used when handling the OnCustomDraw.TopScrollButton event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarViewInfo.TopButtonAlphaBlend2

TdxNavBarViewInfo

Returns the ending alpha component of the top scroll button’s background color.

function TopButtonAlphaBlend2: Byte; virtual;

Description

Use the TopButtonAlphaBlend2 method to obtain the ending alpha blending value of the top scroll button’s background color. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The TopButtonAlphaBlend2 method returns the AlphaBlending2 property value of the style assigned.

The TopButtonAlphaBlend2 method can be used when handling the OnCustomDraw.TopScrollButton event. It is useful if you don’t want to use custom alpha components of colors.


TdxNavBarViewInfo.TopButtonBackColor

TdxNavBarViewInfo

Returns the starting background color of the top scroll button.

function TopButtonBackColor: TColor; virtual;

Description

Use the TopButtonBackColor method to obtain the starting background color of the top scroll button. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The TopButtonBackColor method returns the BackColor property value of the style assigned.

The TopButtonBackColor method can be used when handling the OnCustomDraw.TopScrollButton event. It is useful if you don’t want to use custom background colors.


TdxNavBarViewInfo.TopButtonBackColor2

TdxNavBarViewInfo

Returns the ending background color of the top scroll button.

function TopButtonBackColor2: TColor; virtual;

Description

Use the TopButtonBackColor2 method to obtain the ending background color of the top scroll button. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The TopButtonBackColor2 method returns the BackColor2 property value of the style assigned.

The TopButtonBackColor2 method can be used when handling the OnCustomDraw.TopScrollButton event. It is useful if you don’t want to use custom background colors.


TdxNavBarViewInfo.TopButtonGradientMode

TdxNavBarViewInfo

Returns the gradient direction used to fill the top scroll button.

function TopButtonGradientMode: TdxBarStyleGradientMode; virtual;

Description

Use the TopButtonGradientMode method to obtain the direction of the gradient that fills the top scroll button. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The TopButtonGradientMode method returns the GradientMode property value of the style assigned.

The TopButtonGradientMode method can be used when handling the OnCustomDraw.TopScrollButton event. It is useful if you don’t want to use custom gradient direction.


TdxNavBarViewInfo.TopButtonImage

TdxNavBarViewInfo

Returns the background image of the top scroll button.

function TopButtonImage: TPicture; virtual;

Description

Use the TopButtonImage method to obtain the background image assigned to the top scroll button. This value is specified by the button’s style with respect to its state. Button styles can be set via the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed default styles. These settings, in turn, can be overridden by assigning custom styles to the OptionsStyle.CustomStyles.Button, OptionsStyle.CustomStyles.ButtonHotTracked and OptionsStyle.CustomStyles.ButtonPressed properties of the NavBar control. The TopButtonImage method returns the Image property value of the style assigned.

The TopButtonImage method can be used when handling the OnCustomDraw.TopScrollButton event. It is useful if you don’t want to use custom background image.


TdxNavBarViewInfo.TopButtonStyle

TdxNavBarViewInfo

Returns the default style assigned to the top button with respect to its current state.

function TopButtonStyle: TdxNavBarBaseStyle; virtual;

Description

The TopButtonStyle property returns the default style assigned to the top scroll button with respect to its state. Thus it can return either the OptionsStyle.DefaultStyles.Button, OptionsStyle.DefaultStyles.ButtonHotTracked and OptionsStyle.DefaultStyles.ButtonPressed style.

Use this property when handling the OnCustomDraw.TopScrollButton event. You can change property values of the object obtained via this property to change the look & feel of the top scroll button. Note that if you want a button to be painted in default manner but with modified styles, you should leave the AHandled parameter of the OnCustomDraw.TopScrollButton event unchanged (set to False).

Note: this property returns the default style applied to scroll buttons. Use the TopButtonStyleItem property to access the custom style applied to them.


TdxNavBarViewInfo.TopButtonStyleItem

TdxNavBarViewInfo

Returns the custom style assigned to the top scroll button with respect to its state.

function TopButtonStyleItem: TdxNavBarStyleItem; virtual;

Description

Use the TopButtonStyleItem function to get access to the custom style assigned to the top scroll button.

The result of the function depends on the top scroll button state. If the button is pressed the function returns the OptionsStyle.CustomStyles.ButtonPressed style item. If the button is hot-tracked the function returns the OptionsStyle.CustomStyles.ButtonHotTracked object. In the other cases the function returns the OptionsStyle.CustomStyles.Button style item. Note that if no custom style is assigned for the current button state, nil is returned.

You can change properties of the object returned by the TopButtonStyleItem method when handling the OnCustomDraw.TopScrollButton event. This enables you to change the style of the top scroll button dynamically. Note that if you want a button to be painted in default manner but with modified styles, you should leave the AHandled parameter of the OnCustomDraw.TopScrollButton event unchanged (set to False).


TdxNavBarViewInfo.TopScrollButtonRect

TdxNavBarViewInfo

Returns the bounding rectangle of the top scroll button.

property TopScrollButtonRect: TRect;

Description

Use the TopScrollButtonRect property when handling the OnCustomDraw.TopScrollButton event. This property enables you to identify the location and size of the button to be painted.

ReadOnly Property


TdxNavBarViewInfo.TopScrollButtonState

TdxNavBarViewInfo

Returns the current state of the top scroll bar button.

type

TdxNavBarObjectState = (sActive, sDisabled, sExpanded, sHotTracked, sPressed, sSelected, sSpecial, sFocused);

TdxNavBarObjectStates = set of TdxNavBarObjectState;

property TopScrollButtonState: TdxNavBarObjectStates;

Description

Use the TopScrollButtonState property when handling the OnCustomDraw.TopScrollButton event. It enables you to distinguish between button states due to user actions. Thus, you can paint the button differently when it is hot-tracked, pressed or in the normal state.

The TopScrollButtonState property can return one of the following values.

Value | Description
sHotTracked | Indicates that the button is currently being hot-tracked.
sDisabled | Indicates that the button is disabled. This can take place only when the VSToolBoxView View is applied to the control. In other Views, scroll buttons disappear when they are not needed.
sPressed | Indicates that the button is currently being pressed.

Note: other values listed by the TdxNavBarObjectState enumeration are not available for the TopScrollButtonState property.

ReadOnly Property


TdxNavBarOffice11NavPaneViewInfo.HeaderRect

TdxNavBarOffice11NavPaneViewInfo

Returns the header section's bounding rectangle.

property HeaderRect: TRect ;

Description

Use the HeaderRect property when handling the OnCustomDraw.NavigationPaneHeader event. The rectangle returned by this property identifies the area where the header section should be painted.

ReadOnly Property


TdxNavBarOffice11NavPaneViewInfo.OverflowPanelItemCount

TdxNavBarOffice11NavPaneViewInfo

Returns the number of icons displayed within the overflow panel.

property OverflowPanelItemCount: Integer;

Description

The OverflowPanelItemCount property is useful when custom painting the overflow panel by handling the OnCustomDraw.NavigationPaneOverflowPanel event. Once you have obtained the number of icons via this property, you can traverse through the OverflowPanelItemGroups, OverflowPanelItemRects and OverflowPanelItemSelectionRects indexed properties to obtain the groups whose icons are to be painted and these icons’ bounds.

ReadOnly Property


TdxNavBarOffice11NavPaneViewInfo.OverflowPanelItemGroups

TdxNavBarOffice11NavPaneViewInfo

Gets the information about the group whose icon should be painted within the overflow panel at the specified position.

property OverflowPanelItemGroups[Index: Integer]: TdxNavBarGroupViewInfo ;

Description

Use the OverflowPanelItemGroups property to access the TdxNavBarGroupViewInfo object holding settings for a group whose corresponding icon should be painted within the overflow panel at the position specified by the Index parameter. The first icon’s index is 0. The last icon’s index is the OverflowPanelItemCount property's value decremented by one.

This property is useful when custom painting the overflow panel by handling the OnCustomDraw.NavigationPaneOverflowPanel event.

ReadOnly Property


TdxNavBarOffice11NavPaneViewInfo.OverflowPanelItemRects

TdxNavBarOffice11NavPaneViewInfo

Get the bounding rectangle for the icon displayed within the overflow panel at the specified position.

property OverflowPanelItemRects[Index: Integer]: TRect ;

Description

Use the OverflowPanelItemRects property to access the bounding rectangle for the icon displayed within the overflow panel at the position specified by the Index parameter. The obtained rectangle identifies the area where a particular icon should be painted when custom painting the entire overflow panel. Note that icon indexes can vary from 0 to the OverflowPanelItemCount property value decremented by one.

ReadOnly Property


TdxNavBarOffice11NavPaneViewInfo.OverflowPanelItemSelectionRects

TdxNavBarOffice11NavPaneViewInfo

Gets the selection rectangle for the icon displayed within the overflow panel at the specified position.

property OverflowPanelItemSelectionRects[Index: Integer]: TRect ;

Description

Use the OverflowPanelItemSelectionRects property to determine the selection rectangle for the icon displayed at the position specified by the Index parameter. This parameter value may vary from 0 to the OverflowPanelItemCount property's value decremented by one.

Note: you may consider filling an icon’s selection rectangle with custom colors before painting the icon itself if an icon is hot-tracked, pressed or corresponds to the active group. The currently hot-tracked and pressed icon’s indexes can be obtained via the HotPart and PressedPart properties of the TdxNavBar.Controller property.

ReadOnly Property


TdxNavBarOffice11NavPaneViewInfo.OverflowPanelRect

TdxNavBarOffice11NavPaneViewInfo

Returns the overflow panel’s bounding rectangle.

property OverflowPanelRect: TRect ;

Description

This property is useful when custom painting the overflow panel by handling the OnCustomDraw.NavigationPaneOverflowPanel event. The rectangle returned by this property identifies the area where the panel should be painted. Note that you should use the OverflowPanelItemRects, OverflowPanelItemSelectionRects and OverflowPanelSignRect properties to determine the rectangles for particular icons and the sign that invokes the context menu.

ReadOnly Property


TdxNavBarOffice11NavPaneViewInfo.OverflowPanelSignRect

TdxNavBarOffice11NavPaneViewInfo

Returns the bounding rectangle for the sign that invokes the Navigation Pane’s context menu.

property OverflowPanelSignRect: TRect ;

Description

Use the OverflowPanelSignRect property to obtain the bounding rectangle for the Navigation Pane’s sign. Note that you may also need to use the HotPart property of the TdxNavBar.Controller property to determine the sign's current state and provide appropriate painting.

ReadOnly Property


TdxNavBarOffice11NavPaneViewInfo.SplitterRect

TdxNavBarOffice11NavPaneViewInfo

Returns the splitter's bounding rectangle.

property SplitterRect: TRect ;

Description

The SplitterRect property is useful when custom painting the splitter by handling the OnCustomDraw.NavigationPaneSplitter event. The rectangle returned by this property identifies the area where the splitter should be painted.

ReadOnly Property


dxNavBarOffice11Views Unit Overview

dxNavBarOffice11Views Unit

Classes

TdxNavBarOffice11NavPaneViewInfo


Methods for TdxNavBarGroupViewInfo

TdxNavBarGroupViewInfo Methods

TdxNavBarGroupViewInfo Legend

In TdxNavBarGroupViewInfo

BgAlphaBlend

BgAlphaBlend2

BgBackColor

BgBackColor2

BgGradientMode

BgImage

CaptionAlphaBlend

CaptionAlphaBlend2

CaptionBackColor

CaptionBackColor2

CaptionFont

CaptionFontColor

CaptionGradientMode

CaptionHAlignment

CaptionImage

CaptionSignColor

CaptionStyle

CaptionStyleItem

CaptionVAlignment

Create

Destroy

GetCaptionHeight

GetImageHeight

GetImageWidth

GetLinkViewInfoByLink

ImageIndex

ImageList

IndexOfLinkViewInfo

IsCaptionImageVisible

IsCaptionSignVisible

IsCaptionUseSmallImages

IsCaptionVisible

IsItemsVisible

IsLinksUseSmallImages

IsViewAsIconView


Methods for TdxNavBarLinkViewInfo

TdxNavBarLinkViewInfo Methods

TdxNavBarLinkViewInfo Legend

In TdxNavBarLinkViewInfo

Create

Font

FontColor

GetCaptionHeight

GetImageHeight

GetImageWidth

ImageIndex

ImageList

IsCaptionVisible

IsImageVisible

SelectionRect

Style

StyleItem


Methods for TdxNavBarViewInfo

TdxNavBarViewInfo Methods

TdxNavBarViewInfo Legend

In TdxNavBarViewInfo

ActiveGroupViewInfo

BgAlphaBlend

BgAlphaBlend2

BgBackColor

BgBackColor2

BgGradientMode

BgImage

BottomButtonAlphaBlend

BottomButtonAlphaBlend2

BottomButtonBackColor

BottomButtonBackColor2

BottomButtonGradientMode

BottomButtonImage

BottomButtonStyle

BottomButtonStyleItem

ClearGroups

Create

Destroy

DragDropGroupTargetAlphaBlend

DragDropGroupTargetAlphaBlend2

DragDropGroupTargetBackColor

DragDropGroupTargetBackColor2

DragDropGroupTargetGradient

DragDropItemTargetBackColor

GetDragArrowHeight

GetDragArrowWidth

GetGroupAtCaptionPos

GetGroupAtItemsPos

GetGroupCaptionHeightAddon

GetGroupCaptionSeparatorWidth

GetGroupCaptionSignSize

GetGroupHorizontalEdge

GetGroupSeparatorWidth

GetGroupViewInfoAtCaptionPos

GetGroupViewInfoAtItemsPos

GetGroupViewInfoByGroup

GetLinkAtPos

GetLinkAtSelectedPos

GetLinksAtDragPosition

GetLinksIconViewSeparatorWidth

GetLinksImageHorizontalEdge

GetLinksImageVerticalEdge

GetLinksLargeSeparatorWidth

GetLinksSmallSeparatorWidth

GetLinkViewInfoAtPos

GetLinkViewInfoAtSelectedPos

GetLinkViewInfoByLink

GetScrollButtonHorizontalEdge

GetScrollButtonHorizontalSize

GetScrollButtonVerticalEdge

GetScrollButtonVerticalSize

GetViewInfoAtDragPosition

HintAlphaBlend

HintAlphaBlend2

HintBackColor

HintBackColor2

HintFont

HintGradientMode

HintImage

IndexOfGroupViewInfo

IsBottomScrollButtonVisible

IsPtBottomScrollButton

IsPtTopScrollButton

IsTopScrollButtonVisible

TopButtonAlphaBlend

TopButtonAlphaBlend2

TopButtonBackColor

TopButtonBackColor2

TopButtonGradientMode

TopButtonImage

TopButtonStyle

TopButtonStyleItem


Methods for TdxNavBarOffice11NavPaneViewInfo

TdxNavBarOffice11NavPaneViewInfo Methods

TdxNavBarOffice11NavPaneViewInfo Legend

Derived from TdxNavBarViewInfo

ActiveGroupViewInfo

BgAlphaBlend

BgAlphaBlend2

BgBackColor

BgBackColor2

BgGradientMode

BgImage

BottomButtonAlphaBlend

BottomButtonAlphaBlend2

BottomButtonBackColor

BottomButtonBackColor2

BottomButtonGradientMode

BottomButtonImage

BottomButtonStyle

BottomButtonStyleItem

Create

Destroy

DragDropGroupTargetAlphaBlend

DragDropGroupTargetAlphaBlend2

DragDropGroupTargetBackColor

DragDropGroupTargetBackColor2

DragDropGroupTargetGradient

DragDropItemTargetBackColor

GetGroupAtCaptionPos

GetGroupAtItemsPos

GetGroupViewInfoAtCaptionPos

GetGroupViewInfoAtItemsPos

GetGroupViewInfoByGroup

GetLinkAtPos

GetLinkAtSelectedPos

GetLinksAtDragPosition

GetLinkViewInfoAtPos

GetLinkViewInfoAtSelectedPos

GetLinkViewInfoByLink

GetViewInfoAtDragPosition

HintAlphaBlend

HintAlphaBlend2

HintBackColor

HintBackColor2

HintFont

HintGradientMode

HintImage

IndexOfGroupViewInfo

IsBottomScrollButtonVisible

IsPtBottomScrollButton

IsPtTopScrollButton

IsTopScrollButtonVisible

TopButtonAlphaBlend

TopButtonAlphaBlend2

TopButtonBackColor

TopButtonBackColor2

TopButtonGradientMode

TopButtonImage

TopButtonStyle

TopButtonStyleItem


Properties for TdxNavBarGroupViewInfo

TdxNavBarGroupViewInfo Properties

TdxNavBarGroupViewInfo Legend

In TdxNavBarGroupViewInfo

CaptionImageRect

CaptionRect

CaptionSignRect

CaptionTextRect

Group

ItemCount

Items

ItemsRect

NavBar

Painter

Rect

State

ViewInfo


Properties for TdxNavBarLinkViewInfo

TdxNavBarLinkViewInfo Properties

TdxNavBarLinkViewInfo Legend

In TdxNavBarLinkViewInfo

CaptionRect

GroupViewInfo

ImageRect

Item

Link

NavBar

Painter

Rect

State

ViewInfo


Properties for TdxNavBarViewInfo

TdxNavBarViewInfo Properties

TdxNavBarViewInfo Legend

In TdxNavBarViewInfo

BottomScrollButtonRect

BottomScrollButtonState

GroupCount

Groups

HintRect

HintText

NavBar

Painter

TopScrollButtonRect

TopScrollButtonState


Properties for TdxNavBarOffice11NavPaneViewInfo

TdxNavBarOffice11NavPaneViewInfo Properties

TdxNavBarOffice11NavPaneViewInfo Legend

In TdxNavBarOffice11NavPaneViewInfo

HeaderRect

OverflowPanelItemCount

OverflowPanelItemGroups

OverflowPanelItemRects

OverflowPanelItemSelectionRects

OverflowPanelRect

OverflowPanelSignRect

SplitterRect

Derived from TdxNavBarViewInfo

BottomScrollButtonRect

BottomScrollButtonState

GroupCount

Groups

HintRect

HintText

NavBar

Painter

TopScrollButtonRect

TopScrollButtonState


TdxNavBarGroupViewInfo Hierarchy

Hierarchy

TObject

|

TdxNavBarGroupViewInfo


TdxNavBarLinkViewInfo Hierarchy

Hierarchy

TObject

|

TdxNavBarLinkViewInfo


TdxNavBarOffice11NavPaneViewInfo Hierarchy

Hierarchy

TObject

|

TdxNavBarViewInfo

|

TdxNavBarBaseViewInfo

|

TdxNavBarOffice1ViewInfo

|

TdxNavBarOffice3ViewInfo

|

TdxNavBarOffice11NavPaneViewInfo


TdxNavBarViewInfo Hierarchy

Hierarchy

TObject

|

TdxNavBarViewInfo