Symbian
文章平均质量分 61
think12
做了不一定能成功,但不做永远都不会成功!
展开
-
Symbian 去掉自定义控件背景白色的问题
在自定义控件的Draw函数中,不要添加Clear(),就OK了,呵呵,原创 2010-04-13 12:24:00 · 553 阅读 · 0 评论 -
MTM操作
S60 mtm操作(整理)一、消息存储基本知识: SymbianOS提供的消息传送架构也是基于Client/Server机制,Server端负责管理手机上的各种消息,在进行消息相关操作之前我们需要了解SymbianOS是如何组织和存储消息的。 手机中的各种消息都是以数据项(Entry)形式供程序操作,数据项有4种类型,SymbianOS为每种数据项提供了转载 2010-04-18 23:22:00 · 1817 阅读 · 0 评论 -
symbian 如何检测编辑框的当前输入法类型
当我们进行全屏程序开发的时候,对编辑框中当前的输入法要时行判断,以方便我们在界面上贴图表现,通过下面的三步可以完成这个功能:1、在.h文件中加入相关的头文件#include // for CAknEnv::Static()#include //for CAknIndicatorContainer2、在.h文件中加入用到的类定义struct S_uid: public转载 2010-04-21 22:57:00 · 667 阅读 · 0 评论 -
Symbian 根据配置开机自启动
开机自启动:例子:本程序的UID3是:0xEDF874101.在data刚创建EDF87410.rss的RSS文件中添加以下内容:#include RESOURCE STARTUP_ITEM_INFO startexe{ executable_name = "!://sys//bin//LDA20_05_0xEDF87410.exe";原创 2010-05-04 11:17:00 · 740 阅读 · 0 评论 -
symbian中socket实现HTTP流程
用Socket类来实现HTTP协议,Socket是用TCP的协议。HTTP本文用到了4个活动对象。1.RConnection打开网络通道2.SocketEngine3.SocketRead4.SocketWrite操作的流程如下:1.先打开网络通道类。获取一个信息通道,例如:GPRS、WLEN2.发送一个网址,例如http://www.baidu.com/s?wd=a,并确定是Get方式还是Post方式。3.在SocketEngine中,根据Get或Post方式来原创 2010-08-03 14:49:00 · 1358 阅读 · 4 评论 -
Symbian 命名空间的应用
<br />Symbian命名空间的用法:<br /><br /><br />定义函数:<br />namespace NHelper<br /> {<br /> void AlterMsg();<br /> }<br /><br /><br />函数实现:<br />#include <EIKENV.H><br /><br />void NHelper::AlterMsg()<br /> {<br /> CEikonEnv::Stati原创 2010-06-09 17:37:00 · 526 阅读 · 0 评论 -
Symbian OS应用编程图形篇之事件(Event)
<br />Window Server中的Events(事件)被应用程序获取并处理。类似于微软Windows操作系统中的消息,事件通常源于用户的输入,由Wserv生成发送给客户端程序,如请求窗体重画。客户端程序通过WServ 会话来发送请求并获取事件。大部分事件(如键盘和鼠标事件)都封装为TWsEvent类。重画事件告诉应用程序屏幕的哪个区域需要重画,这类事件被封装在TWsRedrawEvent类中。<br /> <br />事件类型<br /> <br />Symbian OS 中的Window serv转载 2010-08-13 19:07:00 · 879 阅读 · 0 评论 -
HTTP POST GET 本质区别详解
HTTP POST GET 本质区别详解 收藏<br /><br />一 原理区别<br /> 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交<br />Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE<br />URL全称是资源描述符,我们可以这样认 为:转载 2010-06-21 19:26:00 · 598 阅读 · 0 评论 -
获取中文的拼音
TBuf aInfo1(L"KErrNone"); TBuf aInfo2(L"KErrNotSupported"); _LIT8(KStrTest,"郑州"); HBufC* pTest = NHelper::ConvGbk2UniL(KStrTest); //此函数定义在别的文件中,功能是把KStrTest短字符转换为GBK字符 CPtiEngine* aEngine =原创 2010-08-19 11:42:00 · 1370 阅读 · 3 评论 -
Symbian 常用的UID
系統自帶UID:資料夾我的助理 101F86E3辦公工具 2000DA52程式貪吃蛇snakes 0x10208a24撲克遊戲card deck 0x101f4ce6Snowboard3D 0x10181ddd圖片編輯ImageEditor 0x101FFA91視頻編輯videoeditor 0x101FFA9C配置configurations 0x101F8597漢英雙向詞典dictionary 0x101F9CFE聊天室IM 0x101f4673可視收转载 2010-08-23 18:42:00 · 764 阅读 · 0 评论 -
是把名片夹以窗口的方式打开。
<br />//是把名片夹以窗口的方式打开。<br /><br />//#include <cpbkviewstate.h> <br />//ReadDeviceData WriteDeviceData<br />//PbkView.lib<br /><br />void CLEDPointAppUi::OpenInfraredL()<br /> {<br /> <br /> CPbkViewState* pbkViewParam = CPbkViewState原创 2010-08-23 18:55:00 · 608 阅读 · 0 评论 -
Symbian电话簿的增删改查
<br />//注意添加工程的权限!!!<br />添加的头文件<br />LIBRARY aknnotify.lib eiksrv.lib//note<br />LIBRARY PbkEng.lib //CPbkContactEngine.h<br />LIBRARY cntmodel.lib //For Phon ebook<br /><br />#include <cpbkcontactengine.h> <br /><br /><br />//获取元素<br原创 2010-08-20 10:26:00 · 789 阅读 · 0 评论 -
判断当前是第二版还是第三版
<br />#ifdef __SERIES60_3X__<br />const TUid KUidStandBy = { 0x101fd64c }; // For 3rd Edition<br />const TUid KUidStandBy_FP2 = { 0x102750F0 }; // For 3rd edition Emulator and FP2 devices<br />#else // #ifdef __SERIES60_3X__<br />const TUid KUidStandBy = {原创 2010-08-20 11:44:00 · 451 阅读 · 0 评论 -
Symbian判断是否是待机界面
<br />一些桌面软件会在用户把手机切换到桌面(desktop)时显示一些特定的信息,如图片,滚动文字等,达到一种个性桌面的效果,这里就介绍一种检测“桌面”的方法。<br /><br />S60 2nd的“桌面”是电话应用,S603rd的“桌面”是Idle.exe,由此我们可以通过当前焦点程序的UID来判断手机是否处在“桌面”状态。<br /><br />用户在操作手机时候会产生一些事件,其中有一个就是Focus ChangedEvent,所以我们只需获取这个事件通知,并在这个事件到来时获转载 2010-08-20 14:19:00 · 528 阅读 · 0 评论 -
Symbian 能力
<br />规则1:程序的capabilities由exe程序的capabilities决定,而不是它所调用的DLL<br />规则2:exe程序不能加载capabilities小于它自身的DLL<br /> <br />Capabilities是Symbian平台安全性的一个重要特色,实在S60 3rd(Symbian v9.1)以后引进的。对于一项Capability,一个程序可以选择有或者没有(这些依据实际需要而定)。在一些action中,比如调用Symbian操作系统上的server,就要求程序具有转载 2010-08-23 10:33:00 · 636 阅读 · 0 评论 -
Symbian 打电话类
<br />http://wiki.forum.nokia.com/index.php/Make_call_with_CTelephony<br /><br /><br /><br />call with CTelephony<br />From Forum Nokia Wiki<br /><br />CCallDialer example illustrates how to dial a new call using CTelephony. Note that this example is转载 2010-08-23 14:05:00 · 944 阅读 · 0 评论 -
Symbian上常见的错误
<br />KERN-EXEC 0 此错误通常出现在进程或线程使用已经销毁服务对象句柄,如调用了某个对象的Close()方法而继续使用此对象句柄<br />KERN-EXEC 3 此错误在好多情况下都会产生,最常见的情况通常是由于你使用了空指针,比如在对象没有创建的情况下使用其成员变量或方法<br />USER 11 内存越界 通常情况下是由于你没有给你的数据分配足够的缓冲区造成的。<br />USER 130 数组越界,如果你访问的RArray 或RPointerArray 数组下标超过了数组转载 2010-08-26 11:05:00 · 554 阅读 · 0 评论 -
Symbian 根据配置开机自启动
<br />开机自启动:<br /><br />例子:<br />本程序的UID3是:0xEDF87410<br /><br />1.在data刚创建EDF87410.rss<br />的RSS文件中添加以下内容:<br /><br />#include <startupitem.rh> <br /><br />RESOURCE STARTUP_ITEM_INFO startexe<br />{<br /> executable_name = "!://sys//b原创 2010-08-26 14:13:00 · 492 阅读 · 0 评论 -
让程序用自定义的菜单-自定义菜单AVKON_VIEW,CBA,MENU_BAR,MENU_PANE
注意:一般情况下不要修改CBA栏的左键ID,默认就是EAknSoftkeyOptions,不要修改为别的。// -----------------------------------------------------------------------------// help menu avkon//在CHelpView::ConstructL()函数中调用// ---------------------------------------------------------------原创 2010-08-24 15:56:00 · 699 阅读 · 1 评论 -
CAknSettingItemList中使用CAknEnumeratedTextPopupSettingItem使用心得
<br /><br /><br /><br /><br /><br />CAknSettingItemList中使用CAknEnumeratedTextPopupSettingItem使用心得<br /><br />CAknSettingItemList是一个控件,而CAknEnumeratedTextPopupSettingItem不是一个控件。只是在CAknSettingItemList中设置了一种列表的方式。<br /><br /><br />//---------------------原创 2010-08-25 13:26:00 · 641 阅读 · 0 评论 -
Symbian 待机界面的UID
<br />Symbian 2rd的UID:0x100058b3<br /> <br /> <br />Symbian 3rd分为fp1和fp2两个版本,<br /> <br />FP1:0x101fd64c<br /> <br />FP2:0x102750F0<br /> <br />判断当前是第几版的手机<br />#ifdef __SERIES60_3X__<br />const TUid KUidStandBy = { 0x101fd64c }; <br />const TUid KUidStand原创 2010-08-27 14:02:00 · 716 阅读 · 0 评论 -
显示文本自动换行
<br /><br /><br />//显示文本<br />void CHelpContainer::ShowForuthLab(CWindowGc& gc, const TRect& aRect) const<br /> {<br /> const CFont* font = NULL;<br /> font = LatinPlain12();<br /> gc.UseFont(font);<br /><br /> HBufC* Hbufc = H原创 2010-08-29 21:21:00 · 930 阅读 · 0 评论 -
CSendUi短信操作
<br /><br />//---------------------------------创建一条新的短信,设置手机号,和别名--------------------------------------<br /><br /> CSendUi* sendAppUi = CSendUi::NewLC();<br /> CMessageData* message = CMessageData::NewLC();<br /><br /> //设置手机号,和别名<br />原创 2010-08-28 12:00:00 · 702 阅读 · 0 评论 -
系统监听名片夹的变化
<br />//----------------------------------------当名片夹有变化的时候----------------------------------------<br />class CControl : public CBase,<br /> public MPbkContactDbObserver<br />{<br /><br />public:<br /> //当通讯录有变化的时候,系统就会自动调用此函数<br原创 2010-08-29 10:48:00 · 1198 阅读 · 2 评论 -
Symbian 中各种提示、输入对话框的使用
<br />Symbian 中各种提示、输入对话框的使用<br /><br />1、非阻塞提示框<br /><br />symbian定义了几个提示类,分别是:<br />confirm类:CAknConfirmationNote<br />info类: CAknInformationNote<br />warning类:CAknWarningNote<br />error类:CAknErrorNote<br /><br />头文件:aknnotewrappers.h<br />转载 2010-09-11 11:11:00 · 701 阅读 · 0 评论 -
系统名片夹的操作
名片中字段对应的枚举值EPbkFieldIdLastName 姓EPbkFieldIdFirstName 名EPbkFieldIdPhoneNumberMobile 手机号EPbkFieldIdPhoneNumberStandard 电话号码EPbkFieldIdEmailAddress 电子邮件EPbkFieldIdCompanyName 公司EPbkFieldIdJobTitle 职位EPbkFieldIdFaxNumber 传真//-----------------原创 2010-08-28 12:01:00 · 1240 阅读 · 0 评论 -
获取名片中一个联系人的所有信息
<br /><br />//---------------------------------获取名片中一个联系人的所有信息---------------------------------<br /> <br /> //iPbkContactEngine是CPbkContactEngine类型的通讯录引擎<br /> <br /><br /> //获取联系人通讯录TContactItemId <br /> TContactItemId tID = //通讯录中的ID;<br原创 2010-09-02 15:41:00 · 1533 阅读 · 0 评论 -
注册监听键值 0~9、*、#键
<br /><br /><br />//------------------------------------------头文件------------------------------------------<br /><br />#ifndef __CAPTURINGKEYS__<br />#define __CAPTURINGKEYS__<br /><br />#include <w32std.h><br />#include <apgwgnam.h> //CApaWindow原创 2010-09-10 18:06:00 · 868 阅读 · 0 评论 -
横屏竖屏切换
<br />当用N85、N95的时候,可以横屏竖屏切换。当切换的时候,就要把程序中的控件位置、大小重新计算,重新画了。<br />其实也没有什么困难的。<br /> <br />1.这根据原始屏幕(240*320)的屏幕计算坐标。当横屏竖屏切换的时候,可以用下面的公式进行自动的拉伸。<br />#define CALC_WH(a) (((a)*Rect().Width())/240) //X轴<br />#define CALC_HG(a) (((a)*Rect().Height())/320)原创 2010-09-03 09:39:00 · 1920 阅读 · 0 评论 -
获取两个时间之间的天数
<br /><br />//两个时间的天数<br />void CLDA20_05AppUi::CalcDays()<br /> {<br /> TTime tCur;<br /> tCur.HomeTime();<br /> <br /> TTime tFirst;<br /> TDateTime dateTime;<br /> dateTime.Set(2010, ESeptember, 13, 0, 0, 0, 0);<br原创 2010-09-15 15:19:00 · 590 阅读 · 0 评论 -
定时器的实现
<br />1.在类中定义一个CPeriodic的指针<br /> CPeriodic* iTimer; <br /><br />2.定义一个回调函数,回调函数必须是static类型<br /> 函数原型:<br /> static TInt Loop(TAny* aPtr);<br /> <br /> 例如实现:<br /> TInt CFirst::Loop(TAny* aPtr)<br /> {<br /> //转换指原创 2010-09-15 21:01:00 · 413 阅读 · 0 评论 -
symbian 弹出系统自定义对话框,可以修改左右软件名称
<br />可以自定义左右软件的名称.<br /><br /><br />.rss<br />//--------------------------------------------------试用、受限、正式阶段--------------------------------------------------<br />RESOURCE CBA r_buy_yes_no<br /> {<br /> buttons =<br /> {<br />原创 2010-09-16 10:31:00 · 762 阅读 · 0 评论 -
S60第三版上启动浏览器并打开指定网页
<br />原帖地址:http://blog.csdn.net/utopia2006/archive/2008/06/10/2532911.aspx<br /> <br /> <br />我们通常使用下面的代码启动浏览器并打开指定网页: <br />void OpenUrlL(const TDesC& aUrl)<br />{<br /> if(aUrl.Length() <= 0)<br /> return;<br /> <br /> HBufC* param = HBufC::Ne转载 2010-09-24 13:14:00 · 4193 阅读 · 0 评论 -
预置应用(Preinstalled applications)
<br />http://wiki.forum.nokia.com/index.php/%E5%A6%82%E4%BD%95%E9%A2%84%E8%A3%85Symbian%E5%BA%94%E7%94%A8原创 2010-09-24 13:00:00 · 626 阅读 · 0 评论 -
Symbian 强制横屏、竖屏
<br /><br />在appui里的ConstructL中使用:<br />//强制使用竖屏<br />CAknAppUiBase::SetOrientationL(EAppUiOrientationPortrait);<br />//切换为横屏<br />CAknAppUiBase::SetOrientationL(EAppUiOrientationLandscape);原创 2010-09-27 11:30:00 · 1093 阅读 · 0 评论 -
Symbian 更换主题
<br />http://wiki.forum.nokia.com/index.php/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%8D%A2%E5%BD%93%E5%89%8D%E4%B8%BB%E9%A2%98<br /><br /><br />如何更换当前主题<br />From Forum Nokia Wiki<br /><br /> * 设备, 软件 版本: <br /><br />S60 3rd Edition<br /><br /><br />转载 2010-09-28 12:50:00 · 619 阅读 · 0 评论 -
获取WLAN的MAC地址
<br /><br />void CNOTestNO1AppUi::GetWLAN()<br /> {<br /> //#include <in_sock.h> // link against insock.lib, esock.lib<br /> RSocketServ socketServ;<br /> User::LeaveIfError(socketServ.Connect());<br /> CleanupClosePushL(socke原创 2010-11-28 11:02:00 · 1211 阅读 · 0 评论 -
查看是否有GPS设备。并且获取设备的ID
//查看是否有GPS设备。 TPositionModuleId CYourClass::GetPositionModuleId() { TInt error = KErrNone; RPositionServer ps; // TODO: Move to the class member variable error = ps.Connect(); if (error != KErrNone) { re转载 2010-11-28 14:01:00 · 1262 阅读 · 0 评论 -
接入点弹出框的设置。
v5和c7上有wlan,而5230上没有wlan,这就需要根据情况弹出的选择框中有wlan了。RSocketServ iSocketServ; // data memberRConnection iConnection; // data memberUser::LeaveIfError(iSocketServ.Connect());User::LeaveIfError(iConnection.Open(iSocketServ));TCommDbConnPref connectPref;原创 2010-11-30 17:24:00 · 548 阅读 · 0 评论 -
获取手机信号量
<br />获取手机的信号量。运行程序后,当信号量有变化的时候会自动的弹出提示框,<br /><br />Location: EIKENV.H <br />Link against: eikcore.lib <br /><br /><br />//--------------------------------------头文件------------------------------------<br /><br />#ifndef __S5TESaaaTNO3APPUI_h__<br原创 2010-11-29 23:05:00 · 915 阅读 · 0 评论