ADT/ODE: How to Reference Buttons on a Custom Toolbar Control

Last reviewed: October 20, 1997
Article ID: Q149075
The information in this article applies to:
  • Microsoft Access Developer's Toolkit version 7.0
  • Microsoft Office 97 Developer Edition Tools

SUMMARY

Advanced: Requires expert coding, interoperability, and multi-user skills.

This article describes how to reference individual command buttons placed on a custom Toolbar control. The custom Toolbar control is included with the Microsoft Office 97 Developer Edition Tools and the Microsoft Access Developer's Toolkit version 7.0.

MORE INFORMATION

This article assumes that a form with a custom Toolbar control has already been created. For the examples provided in this article, the custom Toolbar control should have at least two command buttons.

The key to understanding the custom Toolbar control is understanding its object model. The custom Toolbar control is a Container object with its own properties and methods and it has a Buttons collection consisting of one or more buttons. The Button collection also has its own properties and methods. The diagram below illustrates this:

Toolbar Control Object

   |
   +-- Properties
   |
   +-- Methods
   |
   +-- Button Collection
          |
          +-- Properties
          |
          +-- Methods
          |
          +-- Buttons

When you click a button on the custom Toolbar control, the toolbars ButtonClick event is triggered. It is important to note that the Toolbar control has both a Click event and a ButtonClick event. To determine which button someone clicked, the ButtonClick event must be used.

Each button in the Button collection has an "index" value and an optional key value. These values can be used to reference the desired button when selected. To view the index or key value of a particular button, using the right mouse button (right click), click the custom Toolbar control in form Design view, point to Toolbar Control Object, and then click Properties. Within the ToolbarControl Properties window, click the Buttons tab. The Buttons tab shows the Index value of a particular button and a key may also be provided.

The code examples below assumes there are at least two buttons on the custom Toolbar control. This example will display an appropriate message box, depending on which button was selected. In this example, the Button collections index property is used to determine which button was pressed. The index value stores an integer. Each button in the buttons collection will have a unique index value.

Enter the code in the Toolbar control's ButtonClick event. To enter this code, on the View menu, click Code while in the form's Design view. Then, select the Toolbar custom control object from the Object list and ButtonClick from the Proc list.

NOTE: The following code will not work within the Toolbar control's Click event when using Microsoft Access for Windows 95.

   Private Sub oleToolbar_ButtonClick(ByVal Button As Object)

        Select Case Button.Index

        Case 1    ' The first button was clicked.
             Msgbox "You Selected Button #1"
        Case 2    ' The second button was clicked.
             Msgbox "You Selected Button #2"
        Case Else
             Msgbox "You Selected an invalid button"
        End Select

   End Sub

The next example shows how to perform the same actions by referencing the Button collections "key" value instead of its Index value. The key value stores a string and this value is optional. If the key value is used, each button in the button collection should have a key and the key value must be unique.

   Private Sub oleToolbar_ButtonClick(ByVal Button As Object)

        Select Case Button.Key

        Case "One"   ' The key value is "One".
             Msgbox "You Selected Button #1"

        Case "Two"   ' The key value is "two".
             Msgbox "You Selected Button #2"

        Case Else
             Msgbox "You Selected an invalid button"

        End Select

   End Sub

NOTE: The index values for buttons in the Button collection are automatically assigned by their sequential order in the custom Toolbar control. If a button is removed, the index values are reassigned to all of the buttons in the collection. For reliable code, use the "key" value when referencing buttons. This value is user defined and cannot be changed by removing a button in the collection.

REFERENCES

For more information about the Toolbar control, search the Help Index for "Toolbar Control."

Keywords          : IntpCstm kbinterop
Version           : 7.0 97
Platform          : WINDOWS
Hardware          : x86
Issue type        : kbhowto


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 20, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.