Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-4102F39E-6215-44AD-9E30-6D8E86114D7D" xml:lang="en"><title>Creating
the long-tap detector</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>To use the long-tap detector in your application, create an instance of
the class <codeph>CAknLongTapDetector</codeph>.</p>
<p>You must give the long-tap detector constructor a pointer to the owner;
otherwise the detector doesn’t know where to report long tap events. </p>
<p>You cannot set other long-tap detector parameters in the constructor. To
change these parameters, use the other methods in the API after the detector
is succesfully constructed. </p>
<p>You also need to pass any pointer events from the client side component
to the long-tap detector and enable pointer grab for the control’s window.</p>
<codeblock xml:space="preserve">void CMyContainer::ConstructL( const TRect& aRect )
{
…
iLongTapDetector = CAknLongTapDetector::NewL( this );
DrawableWindow()->SetPointerGrab( ETrue );
…
}
void CMyContainer::HandlePointerEventL( const TPointerEvent& aEvent )
{
…
iLongTapDetector->PointerEventL( aEvent );
…
}
</codeblock>
</conbody></concept>