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

📄 aknexslidercontainer.cpp

📁 symbian 中 滚动条的使用 可以用在亮度
💻 CPP
📖 第 1 页 / 共 3 页
字号:
                time.UniversalTime();
                randSeed = time.Int64();
                randValue = ( Math::Rand( randSeed ) % KSliderBaseMaxValue ) ;
                if ( randValue % KSliderBaseStepSize != KSliderNormalRemainder )
                    {
                    if ( randValue < KSliderBaseStepSize )
                        {
                        randValue += ( KSliderBaseStepSize - randValue ) ;
                        }
                    else
                        {
                        randValue -= ( randValue % KSliderBaseStepSize );
                        }
                    }
                iSlider->SetValueL( randValue );
                ChangeLabelL();
                }
            break;
            }
        case EAknExSliderCmdSetStep:
            {
            // If the screen which is displayed is step size screen
            // changes the step size of slider control.
            if ( charCode == AKNEXSLIDER_STEP_CHANGE_KEY ||
                charCode == AKNEXSLIDER_STEP_CHANGE_KEY2 )
                {
                response = EKeyWasConsumed;
                
                // Increments the index of step size.
                // If number of index is more than defined maximum number,
                // sets minimum number to number of index.
                if ( ++iCurrentStep >= KSliderStepChangeCount )
                    {
                    iCurrentStep = KSliderInitialStepIndex;
                    }
                iSlider->SetValueL( KSliderClearValue );
                iSlider->SetStepSize( KSliderStepChangeSize[iCurrentStep] );
                ChangeLabelL();
                }
            break;
            }
        default:
            {
            break;
            }
        }

    return response;
    }

// ----------------------------------------------------------------------------
// CAknExSliderContainer::StopDisplaySlider()
// Deletes slider control objects.
// ----------------------------------------------------------------------------
//
void CAknExSliderContainer::StopDisplaySlider()
    {
    // Deletes slider control object.
    if ( iSlider )
        {
        // Removes slider control from control stack.
        iEikonEnv->EikAppUi()->RemoveFromStack( iSlider );
        delete iSlider;
        iSlider = NULL;
        }
    }

// ----------------------------------------------------------------------------
// CAknExSliderContainer::SetLabelState()
// Sets font and alignment of label.
// ----------------------------------------------------------------------------
//
void CAknExSliderContainer::SetLabelState( TAknExSliderLabelState aState )
    {
    if ( aState == EAknExSliderLabelTitle ) // Is label used for title?
        {
        // Uses <legend> font.
        iLabel->SetFont( LatinBold19() );
        // Horizontal : center, Vertical : center
        iLabel->SetAlignment( EHCenterVCenter );
        }
    else
        {
        // Uses <annotation> font.
        iLabel->SetFont( iEikonEnv->AnnotationFont() );
        // Horizontal : left, Vertical : top
        iLabel->SetAlignment( EHLeftVTop );
        }
    }

// ----------------------------------------------------------------------------
// CAknExSliderContainer::DisplayNextFeature()
// Sets ID of feature to displayed next.
// ----------------------------------------------------------------------------
//
void CAknExSliderContainer::DisplayNextFeature()
    {
    switch ( iCurrentFeature ) // Current screen is...
        {
        case EAknExSliderCmdEmpty: // Start screen.
            // Next : Layout1 screen.
            iCurrentFeature = EAknExSliderCmdLayout1;
            SetLabelState( EAknExSliderLabelInformation );
            break;
        case EAknExSliderCmdLayout1: // Layout1 screen.
            // Next : Layout2 screen.
            iCurrentFeature = EAknExSliderCmdLayout2;
            break;
        case EAknExSliderCmdLayout2: // Layout2 screen.
            // Next : Layout3 screen.
            iCurrentFeature = EAknExSliderCmdLayout3;
            break;
        case EAknExSliderCmdLayout3: // Layout3 screen.
            // Next : View mode screen.
            iCurrentFeature = EAknExSliderCmdViewMode;
            break;
        case EAknExSliderCmdViewMode: // View mode screen.
            // Next : Form screen.
            iCurrentFeature = EAknExSliderCmdForm;
            break;
        case EAknExSliderCmdForm: // Form screen.
            // Next : Return value screen.
            iCurrentFeature = EAknExSliderCmdReturn;
            SetLabelState( EAknExSliderLabelInformation );
            break;
        case EAknExSliderCmdReturn: // Return value screen.
            // Next : Minimum screen.
            iCurrentFeature = EAknExSliderCmdSetMinimum;
            break;
        case EAknExSliderCmdSetMinimum: // Minimum screen.
            // Next : Maximum screen.
            iCurrentFeature = EAknExSliderCmdSetMaximum;
            break;
        case EAknExSliderCmdSetMaximum: // Maximum screen.
            // Next : Range screen.
            iCurrentFeature = EAknExSliderCmdSetRange;
            break;
        case EAknExSliderCmdSetRange: // Range screen.
            // Next : Current value screen.
            iCurrentFeature = EAknExSliderCmdSetValue;
            break;
        case EAknExSliderCmdSetValue: // Current value screen.
            // Next : Step size screen.
            iCurrentFeature = EAknExSliderCmdSetStep;
            break;
        case EAknExSliderCmdSetStep: // Step size screen.
            // Next : Value changed screen.
            iCurrentFeature = EAknExSliderCmdValueChanged;
            break;
        case EAknExSliderCmdValueChanged: // Value changed screen.
            // Next : Value type( not shown ) screen.
            iCurrentFeature = EAknExSliderCmdTypeNotShown;
            break;
        case EAknExSliderCmdTypeNotShown: // Value type( not shown ) screen.
            // Next : Value type( bare ) screen.
            iCurrentFeature = EAknExSliderCmdTypeBare;
            break;
        case EAknExSliderCmdTypeBare: // Value type( bare ) screen.
            // Next :  Value type( percent ) screen.
            iCurrentFeature = EAknExSliderCmdTypePercent;
            break;
        case EAknExSliderCmdTypePercent: // Value type( percent ) screen.
            // Next : Value type( fraction ) screen.
            iCurrentFeature = EAknExSliderCmdTypeFraction;
            break;
        case EAknExSliderCmdTypeFraction: // Value type( fraction ) screen.
            // Next : Value type( decimal ) screen.
            iCurrentFeature = EAknExSliderCmdTypeDecimal;
            break;
        case EAknExSliderCmdTypeDecimal: // Value type( decimal ) screen.
            // Next : Value text screen.
            iCurrentFeature = EAknExSliderCmdValueText;
            break;
        case EAknExSliderCmdValueText: // Value text screen.
            // Next : Start screen.
            iCurrentFeature = EAknExSliderCmdEmpty;
            break;
        default:
            // Exception : Layout1 screen.
            iCurrentFeature = EAknExSliderCmdLayout1;
            break;
        }

    DisplayFeatureL();
    }

// ----------------------------------------------------------------------------
// CAknExSliderContainer::DisplayFeatureL()
// Displays the slider and label.
// ----------------------------------------------------------------------------
//
void CAknExSliderContainer::DisplayFeatureL()
    {
    switch ( iCurrentFeature ) // Screen which is displayed is...
        {
        case EAknExSliderCmdEmpty: // Start screen.
            // Deletes slider control and displays information.
            StopDisplaySlider();
            SetLabelState( EAknExSliderLabelTitle );
            iView->SetTitleL( R_AKNEXSLIDER_INITAIL );
            DisplayInformationL( R_AKNEXSLIDER_APP_TITLE );
            break;
        case EAknExSliderCmdLayout1: // Layout1 screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_LAYOUT1 );
            break;
        case EAknExSliderCmdLayout2: // Layout2 screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT2 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_LAYOUT2 );
            break;
        case EAknExSliderCmdLayout3: // Layout3 screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT3 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_LAYOUT3 );
            break;
        case EAknExSliderCmdViewMode: // View mode screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_VIEWMODE );
            break;
        case EAknExSliderCmdKeyEvent1: // Key event1 screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_KEYEVENT1 );
            break;
        case EAknExSliderCmdKeyEvent2: // Key even2 screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_KEYEVENT2 );
            break;
        case EAknExSliderCmdKeyEvent3: // Key event3 screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_KEYEVENT3 );
            break;
        case EAknExSliderCmdForm: // Form screen.
            {
            // Displays slider control in form.
            StopDisplaySlider();
            if ( iLabel )
                {
                TBuf<KAknExSliderMessageBufLength> information( 0 );
                iLabel->SetTextL( information );
                }
            DrawNow();
            // DisplayMessage( R_AKNEXSLIDER_INFO_FORM );
            DisplayFormL( R_AKNEXSLIDER_SLIDER_FORM_DIALOG );
            SetLabelState( EAknExSliderLabelTitle );
            DisplayInformationL( R_AKNEXSLIDER_INFO_OPERATION );
            break;
            }
        case EAknExSliderCmdReturn: // Return value.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_RETURN );
            break;
        case EAknExSliderCmdSetMinimum: // Minimum screen.
            // Displays slider control and information.
            iCurrentLabel = EAknExSliderChangeLabel1;
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT5 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_MINIMUM );
            break;
        case EAknExSliderCmdSetMaximum: // Maximum screen.
            // Displays slider control and information.
            iCurrentLabel = EAknExSliderChangeLabel1;
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT5 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_MAXIMUM );
            break;
        case EAknExSliderCmdSetRange: // Range screen.
            // Displays slider control and information.
            iCurrentLabel = KSliderClearValue;
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1, KSliderInitValue );
            DisplayInformationL( R_AKNEXSLIDER_INFO_RANGE );
            break;
        case EAknExSliderCmdSetValue: // Current value screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_VALUE );
            break;
        case EAknExSliderCmdSetStep: // Step size screen.
            // Displays slider control and information.
            iCurrentStep = KSliderInitialStepIndex;
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_STEP );
            break;
        case EAknExSliderCmdValueChanged: // Value changed screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT1 );
            DisplayInformationL( R_AKNEXSLIDER_INFO_VALUECHANGED );
            break;
        case EAknExSliderCmdTypeNotShown: // Value type( not shown ) screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT_VALUE_NOTSHOWN,
                            KSliderInitialValueOfValueTypeScreen );
            DisplayInformationL( R_AKNEXSLIDER_INFO_VALUETYPE );
            break;
        case EAknExSliderCmdTypeBare: // Value type( bare ) screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT_VALUE_BARE,
                            KSliderInitialValueOfValueTypeScreen );
            DisplayInformationL( R_AKNEXSLIDER_INFO_VALUETYPE );
            break;
        case EAknExSliderCmdTypePercent: // Value type( percent ) screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT_VALUE_PERCENT,
                            KSliderInitialValueOfValueTypeScreen );
            DisplayInformationL( R_AKNEXSLIDER_INFO_VALUETYPE );
            break;
        case EAknExSliderCmdTypeFraction: // Value type( fraction ) screen.
            // Displays slider control and information.
            DisplaySliderL( R_AKNEXSLIDER_SLIDER_LAYOUT_VALUE_FRACTION,
                            KSliderInitialValueOfValueTypeScreen );
            DisplayInformationL( R_AKNEXSLIDER_INFO_VALUETYPE );
            break;
        case EAknExSliderCmdTypeDecimal: // Value type( decimal ) screen.

⌨️ 快捷键说明

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