⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iapconnectcontainer.cpp

📁 symbian中如何取得内部联网方式
💻 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 + -