如何动态添加删除菜单项?

如何动态添加删除菜单项?

参考下面代码: 

void CDBMSexampleForm::DynInitMenuPaneL( TInt aResourceId,
CEikMenuPane* aMenuPane )
{
TBuf<64> des;

CAknForm::DynInitMenuPaneL( aResourceId, aMenuPane );
if ( aResourceId == R_AVKON_FORM_MENUPANE )
{
switch ( iType )
{
case EDBMSexampleCmdCreateRecord:
CEikonEnv::Static()->ReadResource( des, R_ADD_RECORD1 );
AddMenuItem( des, EDBMSexampleCmdSaveRecord, aMenuPane);
// Disable unnecessary menu items when "Edit" is selected
aMenuPane->SetItemDimmed( EAknFormCmdAdd, ETrue );
aMenuPane->SetItemDimmed( EAknFormCmdDelete, ETrue );
aMenuPane->SetItemDimmed( EAknFormCmdLabel, ETrue );
break;

case EDBMSexampleCmdDeleteRecord:
CEikonEnv::Static()->ReadResource( des, R_DELETE_RECORD1 );
AddMenuItem( des, EDBMSexampleCmdRemoveRecord, aMenuPane);
// Disable the edit menu item
aMenuPane->SetItemDimmed( EAknFormCmdEdit, ETrue );
break;

case EDBMSexampleCmdUpdateRecord:
CEikonEnv::Static()->ReadResource( des, R_UPDATE_RECORD1 );
AddMenuItem( des, EDBMSexampleCmdChangeRecord, aMenuPane);
// Disable unnecessary menu items when "Edit" is selected
aMenuPane->SetItemDimmed( EAknFormCmdAdd, ETrue );
aMenuPane->SetItemDimmed( EAknFormCmdDelete, ETrue );
aMenuPane->SetItemDimmed( EAknFormCmdLabel, ETrue );
break;

case EDBMSexampleCmdRetrieveRecord:
aMenuPane->SetItemDimmed( EAknFormCmdEdit, ETrue );
break;
}
}
}

/*
-----------------------------------------------------------------------------

CDBMSexampleForm::AddMenuItem( const TDesC &aDesC, TInt aCommandId,
CEikMenuPane* aMenuPane)
Description: Add one menu item

Comments:

Return values: N/A

-----------------------------------------------------------------------------
*/
void CDBMSexampleForm::AddMenuItem(const TDesC &aDesC, TInt aCommandId,
CEikMenuPane* aMenuPane)
{
CEikMenuPaneItem::SData itemData;
itemData.iText = aDesC;
itemData.iCommandId = aCommandId;
itemData.iFlags = 0;
itemData.iCascadeId = 0;
aMenuPane->AddMenuItemL( itemData );
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值