Drawing custom borders around a Symbian control
Article Metadata
Tested with
Devices(s): Nokia E90 Communicator
Nokia N95 8GB
Nokia N95 8GB
Compatibility
Platform(s): S60 3rd Edition
S60 3rd Edition, FP1
S60 3rd Edition, FP2
S60 3rd Edition, FP1
S60 3rd Edition, FP2
Platform Security
Signing Required: Self Signed
Capabilities: )
Article
Keywords: CWindowGc, CGraphicsContext, TRect, CCoeControl::Draw
Created: tapiolaitinen
(15 Feb 2008)
Last edited: hamishwillee
(20 Dec 2011)
Overview
This code snippet demonstrates how to draw a custom border around a GUI component.
Header file
Override the CCoeControl::Draw method.
// From CCoeControl
public:
// Draws the view.
void Draw(const TRect& aRect) const;
Source file
Define the color of the border:
#define KBorderColor TRgb(180, 0, 0)The drawing is implemented in the CCoeControl::Draw method so that the border is drawn every time the view is drawn.
// Draws the view.
void CAppView::Draw(const TRect& aRect) const
{
CWindowGc& gc = SystemGc();
// Draw the border around the component (iComponent)
gc.SetBrushColor(KBorderColor);
TRect rect = iComponent->Rect();
// Enlarge the border rectangle so that it becomes visible. Without this,
// the rect would only contain the innards of the component, which will
// be obscured by the component itself.
rect.Grow(3, 3);
gc.DrawRect(rect);
}

