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

📄 helpcontainer.cpp

📁 symbian和旗下的HTTPENGINE的相关代码
💻 CPP
字号:
#include <gulicon.h>
#include <aknutils.h>
#include <avkon.hrh>
#include <akntitle.h>
#include <eiklabel.h>
#include <barsread.h> // TResourceReader
#include <ASSISTANT.rsg> // resources
#include <StringLoader.h>

#include "HelpContainer.h"
#include "RichTextEditorRichTextEditor.h"

#define KEditorPosition TPoint(0,0) 

CHelpContainer::CHelpContainer()
{
}

// EPOC default constructor can leave.
void CHelpContainer::ConstructL(const TRect& aRect)
{
	CreateWindowL();
	m_pEditor = CRichTextEditorRichTextEditor::NewL();
	m_pEditor->SetContainerWindowL(*this);
	AddTextToEditorL();
	SetRect(aRect);
	ActivateL();
	m_pEditor->DisplayStartOfHelpTextL();
}

void CHelpContainer::AddTextToEditorL()
{
	if (m_pEditor)
		{
//软件介绍
		HBufC* header1 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_HEADER1);
		m_pEditor->SetUnderlineOn(ETrue);
		m_pEditor->SetBoldOn(ETrue);
		m_pEditor->AddTextL (*header1); 
		CleanupStack::PopAndDestroy(header1);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->SetUnderlineOn(EFalse);
		m_pEditor->SetBoldOn(EFalse);

		HBufC* text1 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_TEXT1);
		m_pEditor->AddTextL (*text1);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->AddCarriageReturnL();
		CleanupStack::PopAndDestroy(text1);

		HBufC* text12 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_TEXT12);
		m_pEditor->AddTextL (*text12);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->AddCarriageReturnL();
		CleanupStack::PopAndDestroy(text12);
//功能介绍	
		HBufC* header2 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_HEADER2);
		m_pEditor->SetUnderlineOn(ETrue);
		m_pEditor->SetBoldOn(ETrue);
		m_pEditor->AddTextL (*header2); 
		CleanupStack::PopAndDestroy(header2);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->SetUnderlineOn(EFalse);
		m_pEditor->SetBoldOn(EFalse);

		HBufC* text2 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_TEXT2);
		m_pEditor->AddTextL (*text2);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->AddCarriageReturnL();
		CleanupStack::PopAndDestroy(text2);
//下载
		HBufC* header3 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_HEADER3);
		m_pEditor->SetUnderlineOn(ETrue);
		m_pEditor->SetBoldOn(ETrue);
		m_pEditor->AddTextL (*header3); 
		CleanupStack::PopAndDestroy(header3);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->SetUnderlineOn(EFalse);
		m_pEditor->SetBoldOn(EFalse);

		HBufC* text3 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_TEXT3);
		m_pEditor->AddTextL (*text3);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->AddCarriageReturnL();
		CleanupStack::PopAndDestroy(text3);
//上传
		HBufC* header4 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_HEADER4);
		m_pEditor->SetUnderlineOn(ETrue);
		m_pEditor->SetBoldOn(ETrue);
		m_pEditor->AddTextL (*header4); 
		CleanupStack::PopAndDestroy(header4);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->SetUnderlineOn(EFalse);
		m_pEditor->SetBoldOn(EFalse);

		HBufC* text4 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_TEXT4);
		m_pEditor->AddTextL (*text4);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->AddCarriageReturnL();
		CleanupStack::PopAndDestroy(text4);
//选择上传
		HBufC* header5 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_HEADER5);
		m_pEditor->SetUnderlineOn(ETrue);
		m_pEditor->SetBoldOn(ETrue);
		m_pEditor->AddTextL (*header5); 
		CleanupStack::PopAndDestroy(header5);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->SetUnderlineOn(EFalse);
		m_pEditor->SetBoldOn(EFalse);

		HBufC* text5 = StringLoader::LoadLC (R_RICHTEXTEDITOR_HELP_TEXT5);
		m_pEditor->AddTextL (*text5);
		m_pEditor->AddCarriageReturnL();
		m_pEditor->AddCarriageReturnL();
		CleanupStack::PopAndDestroy(text5);
		}
}

/**
* Symbian OS 2 phase constructor.
* Constructs the CRichTextEditorContainer using the NewLC method, popping
* the constructed object from the CleanupStack before returning it.
* 
* @param aRect The rectangle for this window
* @return The newly constructed CRichTextEditorContainer
*/

CHelpContainer* CHelpContainer::NewL(const TRect& aRect)
{
	CHelpContainer* self = CHelpContainer::NewLC(aRect);
	CleanupStack::Pop(self);
	return self;
}

/**
* Symbian OS 2 phase constructor.
* Constructs the CRichTextEditorContainer using the constructor and ConstructL 
* method, leaving the constructed object on the CleanupStack before returning it.
* 
* @param aRect The rectangle for this window
* @return The newly constructed CRichTextEditorContainer
*/

CHelpContainer* CHelpContainer::NewLC(const TRect& aRect)
{
	CHelpContainer* self = new (ELeave) CHelpContainer;
	CleanupStack::PushL(self);
	self->ConstructL(aRect);
	return self;
}

// destructor
CHelpContainer::~CHelpContainer()
{
	if (m_pEditor) 
	{
		delete m_pEditor;
		m_pEditor = NULL;
	}
}

void CHelpContainer::SizeChanged()
{
	m_pEditor->SetExtent(KEditorPosition, m_pEditor->MinimumSize());
}

// ---------------------------------------------------------
// CHelpContainer::CountComponentControls() const
// return the number of controls
// ---------------------------------------------------------
//
TInt CHelpContainer::CountComponentControls() const
{
	// return number of controls inside this container
	return 1; 
}

// ---------------------------------------------------------
// CHelpContainer::ComponentControl(TInt aIndex) const
// return the pointer to specified control.
// ---------------------------------------------------------
//
CCoeControl* CHelpContainer::ComponentControl( TInt aIndex ) const
{
	switch (aIndex)
		{
		case 0:
			return m_pEditor;
		default:
			return NULL;
		}
}

// ---------------------------------------------------------
// CHelpContainer::Draw(const TRect& aRect) const
// handle the message when client region must be redrawn.
// ---------------------------------------------------------
//
void CHelpContainer::Draw( const TRect& aRect ) const
{
	CWindowGc& gc = SystemGc();
	gc.Clear(aRect);

}

// ---------------------------------------------------------
// CAknExGridContainer::OfferKeyEventL(
//           const TKeyEvent& aKeyEvent, TEventCode aType )
// Handles the key events.
// ---------------------------------------------------------
//
TKeyResponse CHelpContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType )
{
	if (m_pEditor)
		return m_pEditor->OfferKeyEventL(aKeyEvent, aType);
	else 
		return CCoeControl::OfferKeyEventL(aKeyEvent, aType);
}

// End of File  

⌨️ 快捷键说明

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