📄 editsmsview.cpp
字号:
note->ExecuteLD(buf);
}
}
//设置状态栏图标和标题
void CEditSmsView::SetStatusPaneIconAndTitle( )
{
TBuf<KMaxPath> pathMbm;
#ifdef __WINS__
pathMbm.Copy(_L("z:\\system\\apps\\HelperGenius\\HelperGenius.mbm"));
#else
CHelperGeniusAppUi* pApp = (CHelperGeniusAppUi*)CEikonEnv::Static()->AppUi();
pApp->GetAppPath(pathMbm);
pathMbm.Append(_L("HelperGenius.mbm"));
#endif
CHelperGeniusAppUi* pAppui = (CHelperGeniusAppUi*)CEikonEnv::Static()->AppUi();
TFlag tFlag;
tFlag = pAppui->GetPointerSmsView()->m_tFlag;
CEikStatusPane* statusPane = StatusPane();
switch( tFlag )
{
case EWriteSms:
{
//set icon
CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview);
CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview_mask);
//contextPane->SetPicture(bitmap);
contextPane->SetPicture(bitmap, bitmapMask);
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_WRITESMS_TITLE);
CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
titlePane->SetTextL(sTmpTitle);
break;
}
case EInBox:
{
CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview);
CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview_mask);
//contextPane->SetPicture(bitmap);
contextPane->SetPicture(bitmap, bitmapMask);
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_SMS_READMESSAGE);
CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
titlePane->SetTextL(sTmpTitle);
if(info.m_Flag == 0)//表示打开
{
TBuf<12> Contact;
TBuf<80> Content;
pAppui->m_pMtmsExampleEngine->GetMessageAddressL((*info.m_PIdArray)[info.m_Uid],Contact);
pAppui->m_pMtmsExampleEngine->GetMessageL((*info.m_PIdArray)[info.m_Uid],Content);
iContainer->m_pEditTitle->SetFocus(EFalse);
iContainer->m_pEditTitle->SetTextL(&Contact);
iContainer->m_pEditContent->SetTextL(&Content);
}
else if(info.m_Flag == 1)//表示编辑
{
//m_Index = info.m_Index;
TBuf<12> Contact;
TBuf<80> Content;
pAppui->m_pMtmsExampleEngine->GetMessageAddressL((*info.m_PIdArray)[info.m_Uid],Contact);
pAppui->m_pMtmsExampleEngine->GetMessageL((*info.m_PIdArray)[info.m_Uid],Content);
iContainer->m_pEditTitle->SetFocus(ETrue);
iContainer->m_pEditTitle->SetTextL(&Contact);
iContainer->m_pEditContent->SetTextL(&Content);
}
else if(info.m_Flag == 2)//表示回复
{
TBuf<12> Contact;
pAppui->m_pMtmsExampleEngine->GetMessageAddressL((*info.m_PIdArray)[info.m_Uid],Contact);
iContainer->m_pEditTitle->SetTextL(&Contact);
//iContainer->m_pEditContent->
iContainer->m_pEditTitle->SetFocus(EFalse);
iContainer->m_pEditTitle->SetReadOnly(ETrue);
iContainer->m_pEditContent->SetFocus(ETrue);
}
else if(info.m_Flag == 3)//表示转发
{
TBuf<80> Content;
iContainer->m_pEditTitle->SetFocus(ETrue);
//iContainer->m_pEditTitle->SetTextL(&info.m_Contact);
pAppui->m_pMtmsExampleEngine->GetMessageL((*info.m_PIdArray)[info.m_Uid],Content);
iContainer->m_pEditContent->SetTextL(&Content);
}
else
{
iContainer->m_pEditTitle->SetFocus(ETrue);
}
break;
}
case EDrafts:
{
//set icon
CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview);
CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview_mask);
//contextPane->SetPicture(bitmap);
contextPane->SetPicture(bitmap, bitmapMask);
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_SMS_READMESSAGE);
CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
titlePane->SetTextL(sTmpTitle);
if(info.m_Flag == 0)//表示打开
{
TBuf<12> Contact;
TBuf<80> Content;
pAppui->m_pMtmsExampleEngine->GetMessageAddressL((*info.m_PIdArray)[info.m_Uid],Contact);
pAppui->m_pMtmsExampleEngine->GetMessageL((*info.m_PIdArray)[info.m_Uid],Content);
iContainer->m_pEditTitle->SetFocus(EFalse);
iContainer->m_pEditTitle->SetTextL(&Contact);
iContainer->m_pEditContent->SetTextL(&Content);
}
else if(info.m_Flag == 1)//表示编辑
{
TBuf<12> Contact;
TBuf<80> Content;
pAppui->m_pMtmsExampleEngine->GetMessageAddressL((*info.m_PIdArray)[info.m_Uid],Contact);
pAppui->m_pMtmsExampleEngine->GetMessageL((*info.m_PIdArray)[info.m_Uid],Content);
iContainer->m_pEditTitle->SetFocus(ETrue);
iContainer->m_pEditTitle->SetTextL(&Contact);
iContainer->m_pEditContent->SetTextL(&Content);
}
else if(info.m_Flag == 2)//表示回复
{
TBuf<12> Contact;
pAppui->m_pMtmsExampleEngine->GetMessageAddressL((*info.m_PIdArray)[info.m_Uid],Contact);
iContainer->m_pEditTitle->SetTextL(&Contact);
iContainer->m_pEditContent->SetFocus(ETrue);
}
else if(info.m_Flag == 3)//表示转发
{
TBuf<80> Content;
iContainer->m_pEditTitle->SetFocus(ETrue);
//iContainer->m_pEditTitle->SetTextL(&info.m_Contact);
pAppui->m_pMtmsExampleEngine->GetMessageL((*info.m_PIdArray)[info.m_Uid],Content);
iContainer->m_pEditContent->SetTextL(&Content);
}
else
{
iContainer->m_pEditTitle->SetFocus(ETrue);
}
break;
}
case ESent:
{
CAknContextPane* contextPane=(CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview);
CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmHelpergeniusWritesmsview_mask);
//contextPane->SetPicture(bitmap);
contextPane->SetPicture(bitmap, bitmapMask);
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MH_SMS_READMESSAGE);
CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
titlePane->SetTextL(sTmpTitle);
if(info.m_Flag == 0)//表示打开
{
TBuf<12> Contact;
TBuf<80> Content;
pAppui->m_pMtmsExampleEngine->GetMessageAddressL((*info.m_PIdArray)[info.m_Uid],Contact);
pAppui->m_pMtmsExampleEngine->GetMessageL((*info.m_PIdArray)[info.m_Uid],Content);
iContainer->m_pEditTitle->SetFocus(EFalse);
iContainer->m_pEditTitle->SetTextL(&Contact);
iContainer->m_pEditContent->SetTextL(&Content);
}
else if(info.m_Flag == 3)//表示转发
{
iContainer->m_pEditTitle->SetFocus(ETrue);
TBuf<80> Content;
//iContainer->m_pEditTitle->SetTextL(&info.m_Contact);
pAppui->m_pMtmsExampleEngine->GetMessageL((*info.m_PIdArray)[info.m_Uid],Content);
iContainer->m_pEditContent->SetTextL(&Content);
}
else
{
iContainer->m_pEditTitle->SetFocus(ETrue);
}
break;
}
default:
{
break;
}
}
}
void CEditSmsView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
{
if(aResourceId != R_EDITSMS_MENU)
return;
//标志位:相当于显示或不显示菜单栏的开关
CHelperGeniusAppUi* pAppui = (CHelperGeniusAppUi*)CEikonEnv::Static()->AppUi();
TFlag tFlag;
tFlag = pAppui->GetPointerSmsView()->m_tFlag;
switch(info.m_Flag)
{
case 0://打开
{
aMenuPane->SetItemDimmed(EHelperGeniusCmdAddReceiver, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdSend, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdReplay, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdSave, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdBack, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdDeleteContent, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdSave, ETrue);
break;
}
case 1://编辑
{
aMenuPane->SetItemDimmed(EHelperGeniusCmdAddReceiver, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdSend, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdReplay, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdSave, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdBack, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdDeleteContent, EFalse);
if(tFlag = EDrafts)
{
aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, ETrue);
}
else
aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, EFalse);
break;
}
case 2://回复
{
aMenuPane->SetItemDimmed(EHelperGeniusCmdAddReceiver, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdSend, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdReplay, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdSave, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdBack, EFalse);
aMenuPane->SetItemDimmed(EHelperGeniusCmdDeleteContent, EFalse);
break;
}
default://写信息
{
aMenuPane->SetItemDimmed(EHelperGeniusCmdReplay, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdRemove, ETrue);
aMenuPane->SetItemDimmed(EHelperGeniusCmdSaveAs, ETrue);
break;
}
}
}
// void CEditSmsView::SendData( TDes& aAddress, TDes& aContent, TOpenModeFlag aTFlag, TMsvId aSmsId )
// {
// m_bufAddress.Copy( aAddress );
// m_bufContent.Copy( aContent );
// m_tFlag = aTFlag;
// m_nSmsId = aSmsId;
// }
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -