Drawing custom borders around a Symbian control
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
The article is believed to be still valid for the original topic scope.
The article is believed to be still valid for the original topic scope.
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
Article
Keywords: CWindowGc, CGraphicsContext, TRect, CCoeControl::Draw
Created: tapiolaitinen
(06 Feb 2008)
Last edited: lpvalente
(04 Aug 2012)
Overview
{Abstract|{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);
}

