slidercontainer.cpp

来自「symbian开发例子程序,来自书籍 symbian os c++手机应用程序开」· C++ 代码 · 共 116 行

CPP
116
字号
/*
* ============================================================================
*  Name     : CSliderContainer from SliderContainer.h
*  Part of  : Slider
*  Created  : 26.02.2006 by ToBeReplacedByAuthor
*  Implementation notes:
*     Initial content was generated by Series 60 Application Wizard.
*  Version  :
*  Copyright: ToBeReplacedByCopyright
* ============================================================================
*/

// INCLUDE FILES
#include "SliderContainer.h"

#include <coemain.h> //iCoeEnv
#include <eikenv.h> 
#include <slider.rsg> 
#include <barsread.h>  //for TResourceReader
#include <aknslider.h> // for slider    


// ================= MEMBER FUNCTIONS =======================

// ---------------------------------------------------------
// CSliderContainer::ConstructL(const TRect& aRect)
// EPOC two phased constructor
// ---------------------------------------------------------
//
void CSliderContainer::ConstructL(const TRect& aRect)
    {
    CreateWindowL();

    TResourceReader reader;
    iCoeEnv->CreateResourceReaderLC( reader,  R_SLIDER_SLIDER);
    iSlider = new( ELeave ) CAknSlider;
    iSlider->HandleResourceChange( KEikMessageCaptionedControlEditableStateChange );
    iSlider->SetContainerWindowL(*this);
    iSlider->ConstructFromResourceL( this, 1, reader );
    CleanupStack::PopAndDestroy(); // reader
    iSlider->SetObserver( this );
    
    SetRect(aRect);
    ActivateL();
    }

// Destructor
CSliderContainer::~CSliderContainer()
    {
    delete iSlider;
    }

// ---------------------------------------------------------
// CSliderContainer::SizeChanged()
// Called by framework when the view size is changed
// ---------------------------------------------------------
//
void CSliderContainer::SizeChanged()
    {
    }

// ---------------------------------------------------------
// CSliderContainer::CountComponentControls() const
// ---------------------------------------------------------
//
TInt CSliderContainer::CountComponentControls() const
    {
    return 1; // return nbr of controls inside this container
    }

// ---------------------------------------------------------
// CSliderContainer::ComponentControl(TInt aIndex) const
// ---------------------------------------------------------
//
CCoeControl* CSliderContainer::ComponentControl(TInt aIndex) const
    {
    switch ( aIndex )
        {
        case 0:
            return iSlider;
        default:
            return NULL;
        }
    }

// ---------------------------------------------------------
// CSliderContainer::Draw(const TRect& aRect) const
// ---------------------------------------------------------
//
void CSliderContainer::Draw(const TRect& aRect) const
    {
    CWindowGc& gc = SystemGc();
    // TODO: Add your drawing code here
    
    }

// ---------------------------------------------------------
// CSliderContainer::HandleControlEventL(
//     CCoeControl* aControl,TCoeEvent aEventType)
// ---------------------------------------------------------
//
void CSliderContainer::HandleControlEventL(
    CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/)
    {
    // TODO: Add your control event handler code here
    }

TKeyResponse CSliderContainer::OfferKeyEventL(
    const TKeyEvent& aKeyEvent, TEventCode aType)
    {
    return iSlider->OfferKeyEventL(aKeyEvent, aType);
    }


// End of File  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?