×
Namespaces

Variants
Actions
Revision as of 15:58, 24 August 2007 by Forum Nokia KB (Talk | contribs)

Archived:Applying actions on list box items using Symbian C++

From Nokia Developer Wiki
Jump to: navigation, search


Subject:

Applying actions on list box items

TSS000647

 

Platform(s): Device(s), SW version(s):
S60 1st Edition
S60 2nd Edition and FP1, FP2, FP3
S60 3rd Edition and FP1
 

Category:

Symbian C++

Subcategory:

UI, UI components

Description:

Description:
Below is a code snippet demonstrating how to apply actions on a list box item selected by the user.
The code to create a simple list box can be obtained from the link below:
http://wiki.forum.nokia.com/index.php/How_to_create_a_simple_listbox
It is possible to apply any actions (e.g., displaying a popup or a dialog) by catching key events for a list box that currently has keyboard focus. This is done in the OfferKeyEventL() function of the container class that owns the list box.
Solution:
    TKeyResponse CMyExampleAppView::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
        {
        if(aType != EEventKey)
            {
            return EKeyWasNotConsumed;
            }
        switch(aKeyEvent.iCode)
            {
            case EKeyUpArrow:
            case EKeyDownArrow:
                {
                // Forward up and down key press events to the list box
                return iListBox->OfferKeyEventL( aKeyEvent, aType );
                }
            case EKeyOK: // display an information note when item is selected
                {
                _LIT(KFormatMessage, "Selected item: %d");
                TInt idx = iListBox->CurrentItemIndex();
                TBuf<32> message;
                message.Format(KFormatMessage, idx);
                CAknInformationNote* Note = new (ELeave) CAknInformationNote;
                Note->ExecuteLD(message);
                return EKeyWasConsumed;
                }
            default:
                break;
            }
       
        return EKeyWasNotConsumed;
        }
Also make sure to add this line
    AddToStackL( iAppView );
in AppUi’s ConstructL() to add the view/container to the control stack and receive OfferKeyEventL() calls.

Creation date:

May 10, 2007

Last modified:

-
80 page views in the last 30 days.