GetItemByTag

Description

Gets an item according to its tag in the RibbonBar control.

Applies to

RibbonBar controls

Syntax

controlname.GetItemByTag ( String Tag, ref PowerObject Item )

Argument

Description

controlname

The name of the RibbonBar control.

Tag

The tag value of the item you want to obtain.

Item

A PowerObject variable in which you want to store the item identified by the tag.


Return value

Integer.

Returns 1 if it succeeds and -1 if an error occurs. If any argument's value is null, returns null.

Usage

You can also get an item according to its handle by using the GetItem function.

The GetItemByTag and GetItem functions can be used to get items including ApplicationButton, TabButton, Category, Panel, Group, LargeButton, SmallButton, CheckBox, and ComboBox; but cannot get RibbonMenuItem, RibbonApplicationMenu, and RibbonMenu. To get RibbonMenuItem, you can use the GetItem Syntax 4, GetMasterItem, and GetRecentItem functions. To get RibbonApplicationMenu and RibbonMenu, you can use the GetMenu and GetMenuByButtonHandle functions.

The GetItemByTag function finds the first item that matches with the tag. It searches in the following order of priority: RibbonApplicationButtonItem > RibbonTabButtonItem > RibbonCategoryItem > RibbonPanelItem > RibbonGroupItem > RibbonLargeButtonItem > RibbonSmallButtonItem > RibbonCheckBoxItem > RibbonComboBoxItem. The controls at high level has priority over those at low level. RibbonBar is at the first-level (the highest level); ApplicationButton, Category, and TabButton are at the second-level; Panel is at the third-level, what is contained in the Panel is at the fourth-level, and what is contained in the Group is at the fifth-level (the lowest level).

Example 1

This example gets the application button by the tag value:

Integer li_Return
RibbonApplicationButtonItem lr_AppButton, lr_AppButton2

lr_AppButton.Text = "MyApp"
lr_AppButton.Tag = "MyAppTag"
li_Return = rbb_1.SetApplicationButton (lr_AppButton)

li_Return = rbb_1.GetItemByTag ("MyAppTag", lr_AppButton2)

Example 2

This example inserts a large button and a small button with the same tag value "AddTag", and then searches the item by the tag value "AddTag". The large button will be returned because the large button is searched before the small button according to the search priority.

Integer li_Return
RibbonLargeButtonItem lr_LargeButton, lr_LargeButton2
RibbonSmallButtonItem lr_SmallButton, lr_SmallButton2
PowerObject lpo_Object
Long ll_Handle_Category, ll_Handle_Panel, ll_Handle_LargeButton, ll_Handle_SmallButton

ll_Handle_Category = rbb_1.InsertCategoryFirst ("MyCategory")
ll_Handle_Panel = rbb_1.InsertPanelFirst (ll_Handle_Category, "MyPanel", "AddSmall!")

lr_LargeButton.Text = "AddBig"
lr_LargeButton.PictureName = "AddBig!"
lr_LargeButton.Tag = "AddTag"
ll_Handle_LargeButton = rbb_1.InsertLargeButtonFirst (ll_Handle_Panel, lr_LargeButton)

lr_SmallButton.Text = "AddSmall"
lr_SmallButton.PictureName = "AddSmall!"
lr_SmallButton.Tag = "AddTag"
ll_Handle_SmallButton = rbb_1.InsertSmallButtonLast (ll_Handle_Panel, lr_SmallButton)

li_Return = rbb_1.GetItemByTag ("AddTag", lpo_Object)
If li_Return <> 1 Then Return

Choose Case Lower(lpo_Object.ClassName())
 Case "ribbonlargebuttonitem"
  lr_LargeButton2 = lpo_Object
  MessageBox("",lr_LargeButton2.Text+"~r~n"+lr_LargeButton2.PictureName)
 Case "ribbonsmallbuttonitem"
  lr_SmallButton2 = lpo_Object
  MessageBox("",lr_SmallButton2.Text+"~r~n"+lr_SmallButton2.PictureName)
End Choose

See also

GetChildItemByIndex

GetChildItemCount

GetItemParent