此文为开发视界原创转载者请注明出处否则追究法律责任
CEikLabel的基本功能是在控制中显示静态文本。它是非常简单易懂的,你不需要改变它的颜色:没有 SetColor() 原语。 如果你正在阅读此页,你或许正在寻找答案。像往常一样在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 );
|