×
Namespaces

Variants
Actions
Revision as of 07:38, 30 May 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

How to Handle Pointer Events in a Custom Control

From Nokia Developer Wiki
Jump to: navigation, search


Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic.
Compatibility
Platform(s): S60 5th Edition
S60 5th Edition
Platform Security
Signing Required: Self-Signed
Capabilities: None
Article
Keywords: HandlePointerEventL(),Custom Control.
Created: vasant21 (26 Oct 2008)
Last edited: hamishwillee (30 May 2013)

Contents

Overview

This snippet shows how to handle pointer events in a custom control and route them to a proper component control by validating the pointer area against the control rect.

This snippet can be self-signed.

Preconditions

Here we assume that we already have a working code for custom control, and we also assume that we have two components: iEdwin1 and iEdwin2 in a custom control.


MMP file

The following capabilities and libraries are required:

CAPABILITY  None
LIBRARY cone.lib


#include <COECNTRL.H> 
 
void CCustomContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent)
{
// Validate pointer position.
if( iEdwin1->Rect().Contains( aPointerEvent.iPosition ) )
{
// click on edwin1 pass the pointer event. //
iEdwin1->HandlePointerEventL( aPointerEvent );
}
else if( iEdwin2->Rect().Contains( aPointerEvent.iPosition ) )
{
// click on edwin2 pass the pointer event. //
iEdwin2->HandlePointerEventL( aPointerEvent );
}
else
{
// simply calling the base class implementation //
CCoeControl::HandlePointerEventL(aPointerEvent);
}
}

Postconditions

Pointer position will validated against the control rectangle and the pointer events will be routed to appropriate control.

This page was last modified on 30 May 2013, at 07:38.
45 page views in the last 30 days.