studyview.cpp

来自「symbian下自制按钮实现」· C++ 代码 · 共 112 行

CPP
112
字号
// StudyView.cpp: implementation of the CStudyView class.
//
//////////////////////////////////////////////////////////////////////
#include "mysymstd.h"
#include "StudyView.h"
#include "Studyviewcontainer.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CStudyView::CStudyView()
{
	ipStudyViewContainer =NULL ;

}

CStudyView::~CStudyView()
{
  delete ipStudyViewContainer ;
}

CStudyView * CStudyView::NewL(  ) 
{
	CStudyView * self = CStudyView::NewLC( ) ;
	CleanupStack::Pop(self ) ;
	return self ;
}


CStudyView * CStudyView::NewLC(  ) 
{
   CStudyView * self = new(ELeave)CStudyView( ) ;
   CleanupStack::PushL(self) ;
   self->constructL( ) ;
   return self ;
}

void CStudyView::constructL(  ) 
{
	BaseConstructL( R_STUSYM_STUDYVIEW ) ;
}

TUid CStudyView::Id() const
{
   	return TUid::Uid( EStuSymStudyView );

}

void CStudyView::HandleCommandL( TInt aCommand )
{
    switch(aCommand)
    {
		case EStuSymDlgCmd :
		{
	
		    TRect ret= this->ClientRect(   ) ;
			CMyDialog::RunAaaLD( ret ) ;
		  	break ; 
		}
		case EStuSymQuanCmd :
		{ 
			TUid viewID ;
            viewID.iUid = EStuSymBtnViewId ; 
            AppUi( )->ActivateLocalViewL( viewID ) ;
            break ;	
		}
		case EEikCmdExit :
		case EAknSoftkeyExit :
			AppUi( )->HandleCommandL( EEikCmdExit );
			break ;
		default:
            break;
	}
}

void CStudyView::DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage)
{

    CEikButtonGroupContainer *cba = AppUi()->Cba();
	if ( cba ) 
	{
		cba->MakeVisible( EFalse );
	}

	
	if ( !ipStudyViewContainer )
	{
		ipStudyViewContainer = CStudyViewContainer::NewL( ClientRect(), NULL );
		ipStudyViewContainer->SetMopParent( this );
		AppUi()->AddToStackL( *this, ipStudyViewContainer );
	} 
}

void CStudyView::DoDeactivate( )
{
   CEikButtonGroupContainer *cba = AppUi()->Cba( );
	if ( cba ) 
	{
		cba->MakeVisible( ETrue );
		cba->DrawDeferred();
	}
	
	if (ipStudyViewContainer)
	{
		AppUi()->RemoveFromViewStack( *this, ipStudyViewContainer );
		delete ipStudyViewContainer;
		ipStudyViewContainer = NULL;
	}

}

⌨️ 快捷键说明

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