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.