CEikLabel的基本功能是在控制中显示静态文本。它是非常简单易懂的,你不需要改变它的颜色:没有 SetColor() 原语。
如果你正在阅读此页,你或许正在寻找答案。像往常一样在Symbian 世界中,只要你学会它的方法,那么将是合理的且开销不大的。
事实上,你必须使用OverrideColorL()并且使用 SetEmphasis()启动设定,从而跳过标签的EColorLabelTextEmphasis设置。
代码如下:
#include
...
// 基本标签构造
CEikLabel* myLabel;
myLabel= new (ELeave) CEikLabel;
myLabel->SetContainerWindowL( *this );
myLabel->SetTextL( _L("NewLC rulez!") );
如果你正在阅读此页,你或许正在寻找答案。像往常一样在Symbian 世界中,只要你学会它的方法,那么将是合理的且开销不大的。
事实上,你必须使用OverrideColorL()并且使用 SetEmphasis()启动设定,从而跳过标签的EColorLabelTextEmphasis设置。
代码如下:
#include
...
// 基本标签构造
CEikLabel* myLabel;
myLabel= new (ELeave) CEikLabel;
myLabel->SetContainerWindowL( *this );
myLabel->SetTextL( _L("NewLC rulez!") );
// 前景颜色设定为红色
myLabel->OverrideColorL( EColorLabelTextEmphasis, KRgbRed );
myLabel->SetEmphasis( CEikLabel::EPartialEmphasis );
你可能要为指定前景颜色还是背景颜色做出选择。在这情况下,你还是需要跳过然后启动EColorLabelHighlightFullEmphasis的设置:
// 现在设定前景颜色为白色
// 背景颜色为红色
myLabel->OverrideColorL( EColorLabelTextEmphasis, KRgbWhite );
myLabel->OverrideColorL( EColorLabelHighlightFullEmphasis, KRgbRed );
myLabel->SetEmphasis( CEikLabel::EFullEmphasis );