CEikLabel换行


mmp文件中引用

LIBRARY        eikcoctl.lib gdi.lib


== Source File. ==


Add following header file in your source file.
<code cpp>
#include <eiklabel.h>
#include <aknutils.h>
#include <gulcolor.h>
#include <GDI.H>
</code>


Add following source code in ConstructL() method.
<code cpp>
const CFont* font = CCoeEnv::Static()->NormalFont();

iTextArray = new CArrayFixFlat<TPtrC>(1);
iMultiLineText = HBufC::NewL(0);

iLabel = new (ELeave) CEikLabel;
iLabel->SetContainerWindowL( *this );
//Set your custom font here.
iLabel->SetFont(font);

//wrapping text to set in label.
TBuf<100> buffer;
buffer.Copy(_L("Testing long label in symbian OS c++."));
iTextArray->Reset();
TInt screenWidth = 240 ; // set width as per your requirement.
AknTextUtils::WrapToArrayL(buffer, screenWidth,*font, *iTextArray);
TInt Height = 0; //to set height of label.[[Category:Symbian C++]]
for (TInt i = 0; i < iTextArray->Count(); i++)
{
TInt length = iTextArray->At(i).Length() + 1;
iMultiLineText = iMultiLineText->ReAllocL(iMultiLineText->Length() + length);
iMultiLineText->Des().Append(iTextArray->At(i));
iMultiLineText->Des().Append(_L("\n"));
Height += font->HeightInPixels() + font->AscentInPixels()/2;
}

iLabel->SetTextL(iMultiLineText->Des());

// setting font color to red.
iLabel->OverrideColorL( EColorLabelTextEmphasis, KRgbRed );
iLabel->SetEmphasis( CEikLabel::EPartialEmphasis );

//set position of label.
iLabel->SetPosition(TPoint(0, 20));
//set size of label.
iLabel->SetSize(TSize(screenWidth,Height));
</code>


Add the following code in the destructor to delete all used variables.
<code cpp>
delete iLabel;
delete iTextArray;
delete iMultiLineText;
</code>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值