📄 iapconnectcontainer.cpp
字号:
/*
* ============================================================================
* Name : CIAPConnectContainer from IAPConnectContainer.cpp
* Part of : Internet Access Points Example v2.0
* Created : 01.09.2006 by Forum Nokia
* Version : 2.0
* Copyright: Forum Nokia
* ============================================================================
*/
// INCLUDE FILES
#include "IAPConnectContainer.h"
#include "IAPConnect.hrh"
#include <eiklabel.h>
#include <eikedwin.h>
// CONSTANTS
_LIT(KLabelText, "IAPConnect\nExample Application");
const TInt KLabelXPosition = 10;
const TInt KEdwinXPosition = 10;
const TInt KEdwinWidth = 7;
const TInt KEdwinTextLimit = 0; // Number of editable chars
const TInt KEdwinNumberOfLines = 1;
const TInt KRectHalf = 2;
const TInt KRectQuarter = 4;
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------------------------
// CIAPConnectContainer::CIAPConnectContainer()
//
// Constructor
// ---------------------------------------------------------------------------
//
CIAPConnectContainer::CIAPConnectContainer()
{
}
// ---------------------------------------------------------
// CIAPConnectContainer::ConstructL(const TRect& aRect)
//
// Second phase constructor
// ---------------------------------------------------------------------------
//
void CIAPConnectContainer::ConstructL(const TRect& aRect)
{
CreateWindowL();
iLabel = new (ELeave) CEikLabel;
iLabel->SetContainerWindowL( *this );
iLabel->SetAlignment(EHCenterVCenter);
iLabel->OverrideColorL(EColorLabelText, KRgbCyan);
iLabel->SetTextL( KLabelText );
iEdwin = new (ELeave) CEikEdwin;
iEdwin->SetContainerWindowL( *this );
iEdwin->SetMopParent(this);
iEdwin->ConstructL(CEikEdwin::ENoAutoSelection|
CEikEdwin::EDisplayOnly|CEikEdwin::EOnlyASCIIChars,
KEdwinWidth, KEdwinTextLimit, KEdwinNumberOfLines);
iEdwin->SetBackgroundColorL(KRgbGray);
SetRect(aRect);
ActivateL();
}
// ---------------------------------------------------------------------------
// CIAPConnectContainer::~CIAPConnectContainer()
//
// Destructor
// ---------------------------------------------------------------------------
//
CIAPConnectContainer::~CIAPConnectContainer()
{
if (iEdwin)
{
delete iEdwin;
iEdwin = NULL;
}
if (iLabel)
{
delete iLabel;
iLabel = NULL;
}
}
// ---------------------------------------------------------------------------
// CIAPConnectContainer::ChangeStateL(const TDesC& aText)
//
// Change the text in the edwin regarding the current state.
// ---------------------------------------------------------------------------
//
void CIAPConnectContainer::ChangeStateL(const TDesC& aText)
{
iEdwin->SetTextL(&aText);
DrawNow();
}
// ---------------------------------------------------------
// CIAPConnectContainer::SizeChanged()
//
// Called by framework when the view size is changed.
// ---------------------------------------------------------------------------
//
void CIAPConnectContainer::SizeChanged()
{
TRect rect = Rect();
iLabelXPosition = (rect.Width() - iLabel->MinimumSize().iWidth) / 2;
iLabelYPosition = rect.Height() / KRectQuarter;
iEdwinXPosition = (rect.Width() - iEdwin->MinimumSize().iWidth) / 2;
iEdwinYPosition = rect.Height() / KRectHalf;
// Set size and position of controls
iLabel->SetExtent( TPoint(iLabelXPosition, iLabelYPosition),
iLabel->MinimumSize() + TSize(0,5) );
iEdwin->SetExtent( TPoint(iEdwinXPosition, iEdwinYPosition),
iEdwin->MinimumSize() );
}
// ---------------------------------------------------------
// CIAPConnectContainer::CountComponentControls() const
// ---------------------------------------------------------
//
TInt CIAPConnectContainer::CountComponentControls() const
{
return 2;
}
// ---------------------------------------------------------------------------
// CIAPConnectContainer::ComponentControl(TInt aIndex) const
//
// Returns a control according the index.
// ---------------------------------------------------------------------------
//
CCoeControl* CIAPConnectContainer::ComponentControl(TInt aIndex) const
{
switch ( aIndex )
{
case 0:
return iLabel;
case 1:
return iEdwin;
default:
return NULL;
}
}
// ---------------------------------------------------------------------------
// CIAPConnectContainer::Draw(const TRect& aRect) const
//
// Draws the control
// ---------------------------------------------------------------------------
//
void CIAPConnectContainer::Draw(const TRect& aRect) const
{
CWindowGc& gc = SystemGc();
gc.SetPenStyle( CGraphicsContext::ENullPen );
gc.SetBrushColor( KRgbGray );
gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
gc.DrawRect( aRect );
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -