操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

初谈BREW上构建小型WINDOW机制

2003-11-7 网友评论 0 条 点击进入论坛

作者发现在BREW上没有方便的可以重用的代码,以及适合的窗口机制,每个工程都需要重新开始。所以作者进行了以下设想:

例子工程: StockFA.sap

[code]//------- brewwin.h  begin-------//
#include <aeestdlib.h>
typedef unsigned int UINT;
inline void* operator new(UINT size)
{
 return MALLOC(size);
}
inline void operator delete(void * ptr)
{
 FREE(ptr);
}
inline void* operator new[](UINT size)
{
 return MALLOC(size);
}
inline void operator delete[](void * ptr)
{
        FREE(ptr);
}


class CWindow
{
    virtual FinalConstruct();//初始化
    virtual FinalRelease();//最后释放

    virtual Enable(boolean bEnable);//目前显示有效,否则释放数据和资源
    virtual ReDraw();
    virtual boolean OnEvent(AEEEvent evt, uint16 wParam, uint32 dwParam);
}

class CWndManage
{
    //管理窗口
    Add(CWindow * PWnd);
    Remove(CWindow * PWnd);
    RemoveAll();
    MoveToTop(CWindow * pWnd);
    GetTopWnd(CWindow ** ppWnd);

    //表现窗口
    Show(CWindow * pWnd ,uint16 nCmd);
    //事件处理
    boolean OnEvent(AEEEvent evt, uint16 wParam, uint32 dwParam);//转发事件到当前窗口

    //基础函数  
}

//array
template <class T>
class CArray
{
    T* m_aT;
    int m_nSize;
    BOOL Add(T& t)
    //...注意分配内存用BREW环境的
}
//------- brewwin.h  end-------//

//-------具体工程的文件
class StockTrade : public CWindow
{
    //保存现场变量,用于恢复
    //虚函数的实现   
}

class StockFAApp : public CWndManage
{
    //适应BREW 的函数,分配和释放
    //。。。略
    //调用 CWndManage  的基本函数实现
    //其他特色的数据变量
}

[/code]

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46732 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail