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; } }
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.