我们经常需要在软键的外部打开一个我们自己程序的文件.
比如:
在pc上打开txt的时候系统自动调用记事本.但如果我们设置了文件的属性让editplus打开txt文件.那以后打开txt默认就调用editplus打开文件了.
那文件名和路径是如何传给editplus的.
在 symbian 中如何打开文件的?
大家可用看一下 cakndocument 这个类.
它有一个方法:
import_c cfilestore* cakndocument::openfilel ( tbool adoopen,
const tdesc & afilename,
rfs & bsp; afs
)
有这样的方法.我们的document 只要继承了 cakndocument 就可用使用这个方法.
cfilestore* cdocument::openfilel(tbool /*adoopen*/, const tdesc& afilename, rfs& /*afs*/)
{
iappui->openfilel (afilename );
return null;
}
可用看到 iappui ,我们可用看一下它是如何定义的.
它是eikdoc.h头文件中定义的.
ceikappui* iappui;
我们可用看一下 ceikappui 的定义,发现它有一个方法 :
virtual import_c void openfilel(const tdesc &afilename);
description
opens the specified file.
the default implementation is empty.
parameters
const tdesc &afilename the name of the file to open.
return value
void
这个方法同上面的openfilel 比较是没有返回值的.
我们可用在我们程序中的appui 类中实现
void cappui::openfilel(const tdesc &afilename )
{
//做打开文件的操作.
}
这样在不启动软件的时候,点击关联的文件就会启动程序.
如果喜欢软键关联文件的打开 - symbian请收藏或告诉您的好朋友.
阅读(181) | 评论(0) | 转发(0) |