Symbian 常用标准控件 -- 标签(Label)
2010-08-11 12:15:00 来源:WEB开发网标签(Label)控件的主要作用是显示文本,一旦程序设定了标签的文本,用户就不能随意更改。
1.定义标签变量
Symbian提供了类CEikLabel来处理标签(Label)。要使用标签控件,首先要在容器控件类(Container)中定义CEikLabel的对象指针作为其成员,代码如下:
CEikLabel* iLabel;
2.创建和销毁标签对象
使用标签时应该在Container的实现文件(.cpp)头加上包含eiklabel.h头文件,并在Container的ConstructL()函数不中创建标签及属性设置,代码如下:
void CSampleControlContainer::ConstructL(const TRect& aRect)
{
CreateWindowL();
iLabel = new (ELeave) CEikLabel;
iLabel->SetContainerWindowL(*this);
iLabel->SetTextL(_L("Example View"));
SetRect(aRect);
ActivateL();
}
为了实现在窗口大小发生变化时控件能够自动调整自身的大小,可以在Container的SizeChanged()函数中添加代码。当容器窗口发生变化时,SizeChanged()函数会调用Draw()函数重新绘制窗口里的控件。代码如下:
void CSampleControlContainer::SizeChanged()
{
iLabel->SetExtent(TPoint(10, 10), iLabel->MinimumSize());
iToDoLabel->SetExtent(TPoint(10, 100), iToDoLabel->MinimumSize());
}
iLabel->SetExtent()函数指定了当容器窗口变化时,标签的超始位置(TPoint(10, 10))和大小。当程序退出时,容器的析构函数释放控件指针。代码如下:
CSampleControlContainer::~CSampleControlContainer()
{
delete iLabel;
}
3.设置标签属性
使用SetLabelAlignment()函数可以设置标签的对齐方式,包括水平方向和垂直方向,该函数的定义如下:void SetLebelAlignment(TInt aAlignment);其中参数aAlignment代表对齐方式的值,在水平方向上可以是左、中、右,在垂直方向上可以是上、中、下,所以可以组合成 9种对齐方式的值,该值在枚举类型TGulAlignmentValue中定义,根据枚举值的定义即可看出它代表的对齐方式:
enum TGulAlignmentValue
{
EHLeftVTop = EHLeftVTop,
更多精彩
赞助商链接