<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
CTest_1AppUi::HandleCommandL(TInt aCommand) { switch ( aCommand ) { case EAknSoftkeyBack: case EEikCmdExit: { _LIT(KQueryDelete,"Are you sure to delete it?"); CAknQueryDialog* dlg = new(ELeave) CAknQueryDialog(const_cast<tdesc>(</tdesc>KQueryDelete()),CAknQueryDialog::EWarningTone); dlg->ExecuteLD(R_DIALOG_DELETE_QUERY); break; } case ETest_1CmdAppTest: { // Info message shown only in the emulator iEikonEnv->InfoMsg(_L("test"));
// Load localized message from the resource file HBufC* message = CEikonEnv::Static()->AllocReadResourceLC(R_MESSAGE_TEXT);
// Show information note dialog CAknInformationNote* note = new (ELeave) CAknInformationNote; note->ExecuteLD(message->Des()); CleanupStack::PopAndDestroy(message); break; } // TODO: Add Your command handling code here default: break; } 这里面有几个知识点: 1:_LIT()宏所定义的常量并不是描述符,但可以通过使用一个重载的运算符()将其转换为const TDesC&类型的描述符。 2:CAknQueryDialog的第一个参数需要一个TDesC&类型的参数,所以我们需要把KQueryDelete()强制转换成非const类型的,这需要使用C++中的强制类型转换const_cast<tdesc>。</tdesc> 3:千万注意要把const_cast<tdesc>所接的数据加上()。</tdesc> |
void CTest_1AppUi::HandleCommandL(TInt aCommand) { switch ( aCommand ) { case EAknSoftkeyBack: case EEikCmdExit: { _LIT(KQueryDelete,"Are you sure to delete it?"); CAknQueryDialog* dlg = new(ELeave) CAknQueryDialog(const_cast<tdesc>(KQueryDelete()),CAknQueryDialog::EWarningTone);</tdesc> TInt temp = dlg->ExecuteLD(R_DIALOG_DELETE_QUERY); _LIT(KReturnValue,"the return value is :"); HBufC* iBuf = HBufC::NewLC(100); iBuf->Des().Copy(KReturnValue); iBuf->Des().AppendNum(temp); CEikonEnv::Static()->InfoMsg(*iBuf); CleanupStack::PopAndDestroy(iBuf); break; } default: break; } } 从程序执行中我们可以看到,当我们点dlg的NO按钮时,temp的值为一个正数(程序中是3005),而当我们点dlg 的OK的时候,temp的值为0。 所以我们在很多程序中可以看到类似下面的代码: if(dlg->ExecuteLD(R_DIALOG_DELETE_QUERY)) { TInt index = iListBox->CurrentItemIndex(); TName name(db.iName); iUi->iDB->iArrayDB->Delete(index); iUi->iDB->SaveDBL(); CEikonEnv::Static()->ReadResource(info, R_STR_DELETE_TIPS); tips.Format(info, &name); ShowNotify(tips); if(iUi->iDB->iArrayDB->Count()==0) { CEikonEnv::Static()->ReadResource(info, R_STR_NO_CD_TIPS); ShowNotify(info); CreateFunctionListBoxL(); } else { CreateRecordListBoxL(); } } 也就是判断我们是否点击了Dialog的OK按钮。 |
分享到:
相关推荐
symbian学习笔记,比较全面的,整理过后的Word版本。 从搭建开发环境开始讲起,很适合初学symbian的同学,从入门到高级。
Nokia官方培训(Symbian 4300)笔记(三)--Carbide.c++开发环境 新一篇: Nokia官方培训(Symbian 4300)笔记(二)-- Symbian OS Basics 新一篇: Nokia官方培训(Symbian 4300)笔记(五)--Memory Management 新一篇: Nokia...
从事Symbian开发工作也有几个年头了,一直想总结一下开发过程中遇到的问题以及解决技巧,但是总是有这样那样的理由不愿花时间去总结,今天天气不错,心情也挺好,摆出一副专家的气势伏案工作,翻出这几年的工作笔记...
1996年,微软开发Window CE系统,随后的2001年,Symbian S60面向消费者,2007年6月,ios登上历史舞台,2008年9月,Android这个憨憨的机器人悄然问世。 到如今,ios和Android占有了大部分的手机市场,昔日的巨头...
Symbian OS C++程序员编码诀窍.pdf symbian 开发过程.pdf symbian 入门篇.doc symbian+开发讲义.pdf symbian编码标准.pdf Symbian程序编码规范.pdf symbian实例教程.pdf Symbian学习笔记.pdf
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。 [1] 2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全...
symbian系统开发教程.chm 好Symbian+c++游戏的可用性指南.pdf 好Symbian+OS+C++程序员编码诀窍.pdf 好Symbian函数或类与头文件和LIB库对照表.rtf 好Symbian系统环境下通信系统的设计与实现.pdf 好Symbian学习笔记....
J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)/LDAP/C++/Portal/即时通讯/数据建模/UML/UML设计工具(Rose、EA、PD等)/移动办公(Android、Symbian、Wap等技术)/项目管理(敏捷开发等)/软件架构...
J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)/LDAP/C++/Portal/即时通讯/数据建模/UML/UML设计工具(Rose、EA、PD等)/移动办公(Android、Symbian、Wap等技术)/项目管理(敏捷开发等)/软件架构...
塞班开发入门基础,环境搭建,为你开启Qt学习之路
1、大概是去年公司9周年年庆的前一周花了1330元买了Nokia5230这款智能手机,其搭载的是ARM11的CPU和Symbian第五版的OS,是个很典型的嵌入式开发平台,对于从事软件行业的我,自然少不了在这个平台上玩玩应用开发了,...
说到MeeGo,这是一个最新推出的应用于多种设备的开发平台。随着移动互联网核嵌入式互联时代的到来,设备厂商很难靠单一的设备稳固市场地位,因此 Meego的出现增强了厂商的可选性。 我们从中不难读出诺基亚和英特尔...
贝岭的matlab的代码NFC软木板 ...类还会在检测到目标、执行的操作和错误的情况下将调试输出写入控制台,以使开发更容易。 Symbian 注意事项:该项目要求您的设备上安装 Qt 4.7.4 和 Qt Mobility 1.2。 在 C7
笔记 经验 习题答案 应用设计 技术资料 电子大赛 开发板 模块 驱动开发 移动开发 加密解密 压缩解压 编译器/仿真器 多媒体处理 图形图像 游戏 音视频 传感器 连接器 软件 Altium Designer Atmel studio CAD CAM ...