Use the following methods and flags to set toolbar properties:
Vertical orientation: use the method CAknToolbar::SetOrientation()
with the values EAknOrientationVertical
or EAknOrientationHorizontal
in TAknOrientation (floating toolbar).
Semi-transparent outlook: use the KAknToolbarTransparent
flag.
Flexible positioning: use the KAknToolbarFlexiblePosition
flag (floating toolbar).
To set the focus on the middle item by default, use the flag KAknToolbarMiddleItemFocused
(floating toolbar).
To set the toolbar always focusing, use the flag KAknToolbarAlwaysFocusing
(floating toolbar).
To set the focus on the last used item by default, use the
flag KAknToolbarLastUsedItemFocused
flag (floating
toolbar).
To set the toolbar to use no softkeys but still have the focus,
use the flag KAknToolbarWithoutCba
(floating toolbar).
Small toolbar: use the flag KAknToolbarSmall
flag (floating toolbar).
Fixed toolbar: use the flag KAknToolbarFixed
.
Toolbar with no skin background: use the flag KAknToolbarNoBackground
.
Below is an example of a fixed toolbar with three buttons. One of the fixed toolbar buttons is a toolbar extension with three buttons.
RESOURCE AVKON_TOOLBAR r_myapp_fixed_toolbar { flags = KAknToolbarFixed; items = { TBAR_CTRL { type = EAknCtToolbarExtension; id = ECmdExtExample; control = AVKON_TOOLBAR_EXTENSION { items = { TBAR_CTRL { type = EAknCtButton; id = ECmdExtExample1; control = AVKON_BUTTON { flags = 0; states = { AVKON_BUTTON_STATE { txt = STRING_r_myapp_ext_example1_text; helptxt = STRING_r_myapp_ext_example1_help; } }; }; }, TBAR_CTRL { type = EAknCtButton; id = ECmdExtExample2; control = AVKON_BUTTON { flags = 0; states = { AVKON_BUTTON_STATE { txt = STRING_r_myapp_ext_example2_text; helptxt = STRING_r_myapp_ext_example2_help; } }; }; }, TBAR_CTRL { type = EAknCtButton; id = ECmdExtExample3; control = AVKON_BUTTON { flags = 0; states = { AVKON_BUTTON_STATE { txt = STRING_r_myapp_ext_example3_text; helptxt = STRING_r_myapp_ext_example3_help; } }; }; } }; }; }, TBAR_CTRL { type = EAknCtButton; id = ECmdExample1; control = AVKON_BUTTON { flags = 0; states = { AVKON_BUTTON_STATE { txt = STRING_r_myapp_example1_text; helptxt = STRING_r_myapp_example1_help; } }; }; }, TBAR_CTRL { type = EAknCtButton; id = ECmdExample2; control = AVKON_BUTTON { flags = 0; states = { AVKON_BUTTON_STATE { txt = STRING_r_myapp_example2_text; helptxt = STRING_r_myapp_example2_help; } }; }; } }; }
Example of a floating toolbar without CBA buttons:
RESOURCE AVKON_TOOLBAR r_myapp_floating_toolbar { flags = KAknToolbarWithoutCba; items = { TBAR_CTRL { type = EAknCtButton; id = ECmdExample3; // A button with two states ("on" and "off") control = AVKON_BUTTON { flags = 0; states = { AVKON_BUTTON_STATE { txt = STRING_r_myapp_example3_off_text; helptxt = STRING_r_myapp_example3_off_help; }, AVKON_BUTTON_STATE { flags = KAknButtonStateHasLatchedFrame; txt = STRING_r_myapp_example3_on_text; helptxt = STRING_r_myapp_example3_on_help; } }; }; }, TBAR_CTRL { type = EAknCtButton; id = ECmdExample4; control = AVKON_BUTTON { flags = 0; states = { AVKON_BUTTON_STATE { txt = STRING_r_myapp_example4_text; helptxt = STRING_r_myapp_example4_help; } }; }; }, TBAR_CTRL { type = EAknCtButton; id = ECmdExample5; control = AVKON_BUTTON { flags = 0; states = { AVKON_BUTTON_STATE { txt = STRING_r_myapp_example5_text; helptxt = STRING_r_myapp_example5_help; } }; }; } }; }