
symbian 系统复习
文章平均质量分 77
hzb1983
从事C++开发 6年 熟悉MFC 网络编程 symbian 开发 等
展开
-
创建控件
创建简单控件1.创建一个派生于CCoeControl的类2.实现构造代码(通常在ContructL()函数中)3.重写虚函数Draw(),为控件提供绘制代码4.重写虚函数SizeChanged(),在控件尺寸更改时重新布置它class CSimpleControl{public: static CSimpleControl* NewL(const TRect& aRect, c原创 2009-06-21 18:52:00 · 321 阅读 · 0 评论 -
Symbian OS控件开发之CCoeControl
CCoeControl是所有控件的基类,它封装了一个控件的基本属性和功能。编写简单控件涉及到的函数主要有以下三类:初始化、绘图及用户输入处理。下面是一个简单控件的声明。class CSimpleControl : public CCoeControl{public:void ConstuctL(const TRect& aRect);~CSimpleControl();private:void D原创 2009-06-21 18:57:00 · 340 阅读 · 0 评论 -
Symbian添加一个控件的基本步骤
这是对于复杂视图模型来说的添加一个控件的基本步骤1、在container的头文件里添加控件的定义2、CmyContainer::ConstructL中创建控件,并把控件加到container中 如下:添加一个静态Label的方法 iLabel2 = new (ELeave) CEikLabel; iLabel2->SetContainerWindowL( *this ); iL原创 2009-06-21 18:54:00 · 296 阅读 · 0 评论 -
Symbian 的 Descriptor
TDesC本身只包含两个成员变量,type和length。type用于避免虚拟函数,length表示对象的长度。这样也就决定了symbian的descriptor是一个封闭的系统,即开发者无法再从系统提供的Descriptor class通过继承以扩展其功能。主要的成员函数有:TInt Length() const;const TUint8 *Ptr() const; 返回一个不可修改的指针。原创 2009-06-21 18:53:00 · 323 阅读 · 0 评论 -
深入理解Symbian控件架构
Symbian中的控件都由CCoeControl派生而来,想定义自身的控件同样也需要继承CCoeControl。 这个CCoeControl很有意思,实现(或调用)它的不同方法就会产生不同的名称定义或者说是不同类型,至少在整个应用中开发者对它们的功能定义是如此:A视图 做为视图也就是说,它在继承CCoeControl之后在进行构造时必须要调有CreateWindowL()创原创 2009-06-21 18:51:00 · 285 阅读 · 0 评论 -
AO 框架简介
Active Object (AO) 框架,是 Symbian 的 基本工作部分。它是为了满足多个任务同时执行的要求。在 Windows/Unix 平台上,我们可以不加思索的使用多线程来完成多任务。可是在嵌入式平台上,系统的资源是有限的。比如CPU, 内存,都比我们平时用的个人计算机要低。这就要求嵌入式系统能够合理的使用系统资源。不能频繁的切换线程或者进程。Symbian 为这种特别需求设计了 A原创 2009-06-21 18:49:00 · 378 阅读 · 0 评论 -
Symbian OS类命名规则之 - 基本类型和T类
Symbian OS类命名规则* Symbian OS定义了几种不同类型的类,每一种都有不同的特性,这种分类是为了描述类对象的主要属性和行为,比如哪些类对象可以建立在堆上,哪些可以建立在栈上;还有,它们怎么被释放。每一种类型的类都有一个好的定义规则,它使的对象的创建和释放变得很容易。* 为了使分类容易被区分,Symbian OS使用了一个简单的命名规则:类名使用一个字母作为前缀(通常是T,C,R,原创 2009-06-21 18:55:00 · 309 阅读 · 0 评论 -
四个主要的应用软件框架类
应用(Application)类其作用是作为Series 60应用软件框架的启动对象,并对应用软件的属性进行定义。它同时也能够创建文件。 应用类的基类为CAknApplication。 文档(Document)对象它用来保存应用软件的回归状态。一个应用软件必须有一个文件类的实例;该实例可能只是用来启动AppUi。 文件类的基类是CAknDocument 应用接口(AppUi)类它负责处理应用软件相原创 2009-06-21 18:46:00 · 326 阅读 · 0 评论 -
OfferKeyEventL() 和 HandleKeyEventL()
做symbian平台以来,很少用到对非soft按键的处理。平时都只用HandleCommandL() 就可以了,昨天突然想使用对其他按键的事件的处理。控件CCoeControl里面有个虚函数OfferKeyEventL(),AppUi里面也有个函数HandleKeyEventL(),两个都可以对按键事件进行处理。为了确认他们的执行顺序,加了断点,做以下实验。EMCCSoft里面的一个普通的例子原创 2009-06-21 18:43:00 · 633 阅读 · 1 评论 -
Symbian绘图全过程
void CExampleControl::DrawBitmap( const TPoint& aPoint, const CFbsBitmap* aBitmap ) { // 获得系统图形场景及控制矩形区域 CWindowGc& gc = SystemGc(); // 建立绘制矩形区 TRect rect = TRect( aPoint, TSize( aBitmap.iWidth, aBitm原创 2009-06-21 18:41:00 · 754 阅读 · 0 评论 -
NewL() 和 NewLC()各适用于什么情况
搜狐博客 > Michael > 日志 > Symbian UIQ « 上一篇 | 下一篇 »2007-12-28 | NewL() 和 NewLC()各适用于什么情况 标签: Symbian 具有二阶构造函数的类有两个创建对象的方法:NewLC()和NewL()对于NewLC(),当指针为自动变量时,应该使用该函数,创建对象后,可以原创 2009-06-21 18:57:00 · 437 阅读 · 0 评论 -
CCleanupStackPop()和CCleanupStackPopAndDestroy()的区别
简单的说,PopAndDestroy(p)等价于Pop(p); delete p;关于清理栈的使用:class CleanupStack{public:IMPORT_C static void PushL(TAny* aPtr);IMPORT_C static void PushL(CBase* aPtr);IMPORT_C static void PushL(TCleanupItem a原创 2009-06-21 20:22:00 · 371 阅读 · 0 评论