WEB开发网
开发学院手机开发Symbian 开发 Symbian C++ 标题面板 阅读

Symbian C++ 标题面板

 2010-05-31 19:40:00 来源:WEB开发网   
核心提示:一般情况下,标题面板显示应用程序的名字,Symbian C++ 标题面板,但可以更改为自定义的标题,也可以改成一副图像,*CEikStatusPane::TPaneCapabilities subPane =statusPane->PaneCapabilities(titlePaneUid);/*** IsPre

一般情况下,标题面板显示应用程序的名字,但可以更改为自定义的标题,也可以改成一副图像,如果选择的标题过长以致超过了行宽,则此标题分为两行显示,如果两行也无法容纳,则会截断次标题,也可以把标题设成空字符串,此时将不显示标题。

TitlePane实例显示了如何更改标题面板的文本和怎样在标题面板中显示图像,以及如何在资源文件中静态定义标题面板。

1.更改标题面板的文本

void CTitlePaneAppUi::HandleCommandL(TInt aCommand)

{

switch (aCommand)

{

case EEikCmdExit:

case EAknSoftkeyExit:

Exit();

break;

//更改标题面板的文本

case ETitlePaneCmdTitleText:

{

//定义标题面板ID

TUid titlePaneUid;

titlePaneUid.iUid = EEikStatusPaneUidTitle;

//获取状态面板指针

CEikStatusPane* statusPane = this->StatusPane();

/**

* 通过状态面板的PaneCapabilities方法并为它传递一个标题面板ID,

* 然后该方法返回一个TPaneCapabilities对象。

* TPaneCapabilities是CEikStatusPane的一个内部类或嵌套类,

* 它能描述子面板(如标题面板、上下文面板、导航面板、信号面板等)

* 的一些状态(如该子面板是否存在于状态面板中)和能力(如子面板是否能被应用程序更改)。

*

CEikStatusPane::TPaneCapabilities subPane =

statusPane->PaneCapabilities(titlePaneUid);

/**

* IsPresent()判断标题面板是否存在

* IsAppOwned()检查标题面板是否能被引用程序更改

*

if(subPane.IsPresent() && subPane.IsAppOwned())

{

//状态面板虽然返回了CAknTitlePane的指针,但并未传递所属权,所以不需要使用清除栈

CAknTitlePane* titlePane = (CAknTitlePane*)statusPane->ControlL(titlePaneUid);

//从资源文件中加载标题文本

HBufC* titleText = StringLoader::LoadLC(R_TITLEPANE_TITLE_TEXT);

/**

* 可以使用SetText()设置标题文本,

1 2 3  下一页

Tags:Symbian 标题 面板

编辑录入:coldstar [复制链接] [打 印]
赞助商链接