Customizing toolbar behavior
Disabling toolbar buttons
To disable a toolbar button, you need to disable the menu item
with which it is associated. Disabling the menu item disables the
toolbar button automatically.
To disable a menu item, you need to set the Enabled property of
the menu item:
|
1 |
m_test.m_file.m_new.Enabled = FALSE |
Using alternate icons
The enabled and disabled states of each toolbar button are
normally indicated by a pair of contrasting color and greyscale icons.
For greater contrast between the enabled and disabled states, you can
apply an alternate set of icons to the toolbar buttons, by setting the
PBTOOLBARDISABLEMODE environment variable on your system to 1 .
Hiding toolbar buttons
To hide a menu item, you set the Visible property of the
item:
|
1 |
m_test.m_file.m_open.Visible = FALSE |
Hiding a menu item does not cause its toolbar button to disappear
or be disabled. To hide a toolbar button, you need to set the
ToolbarItemVisible property of the menu item:
|
1 |
m_test.m_file.m_open.ToolBarItemVisible = FALSE |
Hiding a menu item does not cause the toolbar buttons for the
drop-down or cascading menu items at the next level to disappear or be
disabled. You need to hide or disable these buttons individually.
Setting the current item in a drop-down
toolbar
When a user clicks on a toolbar button in a drop-down toolbar,
PowerBuilder makes the selected button the current item. This makes it
easy for the user to perform a particular toolbar action repeatedly. You
can also make a particular button the current item programmatically by
setting the CurrentItem property of the MenuCascade object. For example,
to set the current item to the toolbar button for the New option on the
File menu, you could execute this line in a script:
|
1 |
m_test.m_file.currentitem = m_test.m_file.m_new |
In order for this to work, you would need to specify MenuCascade
as the object type for the File menu in the Menu painter.
Testing for whether a toolbar is
moved
Whenever a toolbar moves in an MDI frame window, PowerBuilder
triggers the ToolBarMoved event for the window. In the script for this
event, you can test to see which toolbar has moved and perform some
processing. When the user moves the FrameBar or SheetBar, the
ToolbarMoved event is triggered and the Message.WordParm and
Message.LongParm properties are populated with values that indicate
which toolbar was moved:
|
Property |
Value |
Meaning |
|---|---|---|
|
Message.WordParm |
0 |
FrameBar moved |
|
1 |
SheetBar moved |
|
|
Message.LongParm |
0 |
Moved to left |
|
1 |
Moved to top |
|
|
2 |
Moved to right |
|
|
3 |
Moved to bottom |
|
|
4 |
Set to floating |