Long-tap events allow you to specify functions performed when the user taps and holds the button for a specified period of time. An example of a long-tap function is fast forwarding in a media player application by tapping and holding down a button.
To receive long-tap events, use the class CAknLongTapDetector in the Touch UI utilities API.
To enable the handling of long tap events in your CAknButton , set the flag KAknButtonReportOnLongPress for
the button. When the long tap event starts, CAknButton::ELongPressEvent() is reported to the button observer (MCoeControlObserver). When the long tap event ends, CAknButton::ELongPressEndedEvent() is reported.
To define the period for which the button needs to be held down
for a long-tap event, use the method SetLongPressInterval() in the class CAknButton.
void CMyAppContainer::ConstructL() 
{ 
… 
iButton = CAknButton::NewL( NULL, NULL, NULL, NULL, 
KNullDesC, KNullDesC , KAknButtonReportOnLongPress, 0 ); 
iButton->SetContainerWindowL( *this ); 
iButton->SetObserver( this ); 
… 
} 
void CMyAppContainer::HandleControlEventL( CCoeControl* aControl, 
                                                  TCoeEvent aEventType ) 
    { 
        switch ( aEventType ) 
            { 
// Button is pressed for a long time 
            case CAknButton::ELongPressEvent: 
                        if ( aControl == iButton ) 
{ 
                        … 
} 
                break; 
// Button long press ended 
            case CAknButton::ELongPressEndedEvent: 
                        if ( aControl == iButton ) 
{ 
                        … 
} 
                break; 
            default: 
                break; 
            } 
    }