Difference between revisions of "Creating our first button in VBA"
From Ribbon Commander Documentation
(→Creating a button) |
|||
Line 62: | Line 62: | ||
== Adding a handler for the button's onAction delegate == | == Adding a handler for the button's onAction delegate == | ||
+ | At the moment the new button isn't of much use as it does nothing when clicked. In this section we will hook up to the control's onAction delegate. | ||
+ | * Update the sub as follows | ||
+ | <syntaxhighlight lang="vb" line> | ||
+ | Public Sub CreateMyUI3() | ||
+ | |||
+ | With rxCustomUI.defaultInstance | ||
+ | ' Clear old state | ||
+ | .Clear | ||
+ | |||
+ | ' Add a new tab | ||
+ | With .ribbon.tabs.Add(New rxTab) | ||
+ | .Label = "My First Tab" | ||
+ | ' Add a new group to our tab | ||
+ | With .groups.Add(New rxGroup) | ||
+ | .Label = "My Group" | ||
+ | |||
+ | ' Add a new button to our group | ||
+ | With .Buttons.Add(New rxButton) | ||
+ | .Label = "My Button" | ||
+ | ' Hook up the control's onAction delegate | ||
+ | .onAction = rxCustomUI.defaultInstance.make_delegate("MyCallback") | ||
+ | End With | ||
+ | |||
+ | End With | ||
+ | End With | ||
+ | |||
+ | ' Render the UI | ||
+ | .Refresh | ||
+ | End With | ||
+ | |||
+ | End Sub | ||
+ | </syntaxhighlight> | ||
== Notes == | == Notes == |
Revision as of 18:29, 10 March 2013
Contents
Prerequisites
We recommend you go though A 'hello world' VBA program before going into this example.
Creating a button
- Enter the code below in a standard VBA module
Public Sub CreateMyUI3()
With rxCustomUI.defaultInstance
' Clear old state
.Clear
' Add a new tab
With .ribbon.tabs.Add(New rxTab)
.Label = "My First Tab"
' Add a new group to our tab
With .groups.Add(New rxGroup)
.Label = "My Group"
' Add a new button to our group
With .Buttons.Add(New rxButton)
.Label = "My Button"
End With
End With
End With
' Render the UI
.Refresh
End With
End Sub
- Run the sub to create a button labeled 'My Button' (which belongs to a group labeled 'My Group' which, in turn' belongs to a tab labeled 'My Tab')
Code Analysis
' Add a new group to our tab With .groups.Add(New rxGroup) .Label = "My Group" '... End With
Each rxTab object has a collection of rxGroup objects (accessible through its .groups property). Here we add a new group to our tab's groups and label it 'My Group'
' Add a new button to our group With .Buttons.Add(New rxButton) .Label = "My Button" End With
Each rxGroup object has a collection of rxButton objects (accesible through its .buttons property). Here we add a new button to out group's buttons and label it 'My Button'
Adding a handler for the button's onAction delegate
At the moment the new button isn't of much use as it does nothing when clicked. In this section we will hook up to the control's onAction delegate.
- Update the sub as follows
Public Sub CreateMyUI3()
With rxCustomUI.defaultInstance
' Clear old state
.Clear
' Add a new tab
With .ribbon.tabs.Add(New rxTab)
.Label = "My First Tab"
' Add a new group to our tab
With .groups.Add(New rxGroup)
.Label = "My Group"
' Add a new button to our group
With .Buttons.Add(New rxButton)
.Label = "My Button"
' Hook up the control's onAction delegate
.onAction = rxCustomUI.defaultInstance.make_delegate("MyCallback")
End With
End With
End With
' Render the UI
.Refresh
End With
End Sub