新手有关问题:S60 3rd 怎么动态改变菜单
发布时间:2010-05-30 00:26:26 文章来源:www.iduyao.cn 采编人员:星星草
新手问题:S60 3rd 如何动态改变菜单?
刚接触Symbian开发。
SDK 是 3rd MR,开发环境 VS2003 + Carbaide vs 2.01
我想实现,比如在功能A下,按左键(选项)出现123几个选项,而在功能B下,按左键出现456几个选项。
建工程该选哪项呢?修改rss文件已有的菜单资源,这样就写死了。而新添加的菜单资源又不知该如何调用。
------解决方案--------------------
我遇到这种情况的时候就不用资源文件,直接动态改菜单
CTextListBoxModel* model = pList-> Model(); // Does not own the returned model
User::LeaveIfNull(model);
model-> SetOwnershipType(ELbmOwnsItemArray);
CDesCArray* itemArray = static_cast <CDesCArray*> (model-> ItemTextArray());
User::LeaveIfNull(itemArray);
itemArray-> Reset(); // Remove content from the array
------解决方案--------------------
资源文件里添加所有菜单
调用时通过判断来隐藏某些菜单项
------解决方案--------------------
可以啊,具体方法你可以参考SDK的例子,在Series60Ex\menu下
------解决方案--------------------
到 newlc上去搜索。
------解决方案--------------------
UI设计,跨平台开发,看看这个:http://download.csdn.net/source/180559
------解决方案--------------------
假如有2个view,为它们建立emun值iUiState
enum TUiState
{
EWrite = 1,
EMsgSent
};
TUiState iUiState;
然后使用如下的方法隐藏菜单
aMenuPane-> SetItemDimmed( ESend, !(iUiState == EWrite) );
只要在view切换时对应修改iUiState的值就行了
这样就算是40多个菜单项都只是写一次而已
希望对你有帮助
严重鄙视楼上的楼上做广告的,令人烦了
------解决方案--------------------
这么多菜单项,建议你修改程序设计。
------解决方案--------------------
可以动态创建菜单项,参考下述代码:
CEikMenuPaneItem::SData itemData;
itemData.iFlags = 0;
itemData.iCascadeId = 0;
itemData.iCommandId = EYourCommandId;
CEikonEnv::Static()-> ReadResourceL(itemData.iText, R_STR_YOUR_COMMAND);
aMenuPane-> InsertMenuItemL(itemData, 0);
更到例子可在网上查找InsertMenuItemL等相关函数。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
高手,求个S60v3 FP2 320*240分辨率的SDK
求个S60v3 FP2 320*240分辨率的SDK,
240*320的SDK虽然可以调分辨率的,但我想要一个和E72一...
-
请教关于smybian上使用sqlite的问题
请问如何在symbian 9.1版本上使用sqlite啊?
------解决方案--------------------
直接去sql...
-
symbian 可以内嵌浏览器吗
谁有内嵌浏览器的简单代码吗?或者如何实现内嵌浏览器。谢谢
------解决方案--------------------
ht...
-
symbian:如何判断一个文件是否系统支持的手机铃声格式
现在需要扫描一些固定后缀的文件如MP3,aac等显示出来供用户选择设置为手机铃...
-
数据库求助!!
我创建了一个RDbStoreDatabase,想把通讯录的数据库内容复制过来,该如何实现?实在是不想一条条的insert。。。
------解...
-
Specified file '\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\WINSCW\UDEB\.lib' not found 什么意思?
请大家帮我解决一下,...
-
关于Symbian的express signed
我想给一个Symbian程序做一个express signed,在得到了publisheID后,还需要一个Content ID才能完成,可...
-
CPbkContactEngine::NewL()真机崩溃
如题,在模拟器上正常,在真机上崩溃
哪位遇到过?
------解决方案--------------------
我也遇...
-
请问在symbian如何获取最近手机基站的lac和cid?
请问在symbian如何获取最近手机基站的lac和cid?
------解决方案---------------...
-
求救rvct2.2问题:Cannot obtain license for Compiler (feature compiler) with license version >= 2.2
在carbide用rvct2.2编译...