Setting toolbar properties

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; 
                        } 
                    }; 
                }; 
            } 
        }; 
    }