注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Simon

 
 
 

日志

 
 

SYMBIAN 如何从当前主题中获取grid文本颜色 (获得当前系统字体的颜色来适应屏幕)  

2010-12-06 21:17:48|  分类: Symbian C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
设备, 软件 版本:
S60 2nd Edition, S60 3rd Edition

详细描述
我们可以从当前主题中获取自定义grid(CAknGrid)的文本颜色,但在设置时第二版和第三版略有不同。

解决方案
S60第二版:
正常状态下以及高亮状态下,可以在CCoeControl派生的Container的SizeChanged()方法中设置(该Container拥有grid)。下列是示例代码:
Code:
    TRgb textColor; // text color when not highlighted 

    MAknsSkinInstance* skin = AknsUtils::SkinInstance(); 

    AknsUtils::GetCachedColor( skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG9 );

    TRgb highlightColor; // text color when highlighted

    AknsUtils::GetCachedColor( skin, highlightColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );

    iGrid->ItemDrawer()->SetTextColor( textColor ); // iGrid is of type CAknGrid

    iGrid->ItemDrawer()->SetHighlightedTextColor( highlightColor );
但这里ItemDrawer()->SetTextColor()方法无法用在S60第三版上。


S60第三版:
设置颜色要通过CFormattedCellListBoxData对象,可以做如下操作:
Code:
    TRgb textColor; // text color when not highlighted 

    MAknsSkinInstance* skin = AknsUtils::SkinInstance(); 

    AknsUtils::GetCachedColor( skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG9 );

    TRgb highlightColor; // text color when highlighted

    AknsUtils::GetCachedColor( skin, highlightColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );

    

    CFormattedCellListBoxData::TColors colors;

    colors.iText = textColor;

    colors.iHighlightedText = highlightColor;

    iGrid->ItemDrawer()->FormattedCellData()->SetSubCellColorsL( 0, colors );

    iGrid->ItemDrawer()->FormattedCellData()->SetSubCellColorsL( 1, colors );

    iGrid->ItemDrawer()->FormattedCellData()->SetSubCellColorsL( 3, colors );

上面的代码可以加载在grid的SizeChanged()函数中,否则默认的SizeChanged()会覆盖自定义的操作。注意SetUpFormTextCell()函数的调用必须要在设置文本颜色前调用。
  评论这张
 
阅读(440)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018