|
便宜的好货,大家快来讨啊。主要是我也想下资料要不然就免费了;
简介
- 1 -
一、什么是History 管理
对于我们上层用户而言,经常接触到的History 管理是这样的:
void EntryFunc()
{
U8 *guiBuffer;
EntryNewScreen( Screen_ID , Exit_Func , Entry_Func , NULL );
guiBuffer = GetCurrGuiBuffer( SCR_ID_WORDMAIN_LIST );
ShowCategroyXXScreen( Title_ID , ¡ , guiBuffer);
}
但是,无论是EntryNewScreen 的调用,还是guiBuffer 的传入,我们都很少考虑过对这些指针和
函数在GUI 的管理起到了什么样的作用。下面我们就要了解,以上的代码与History 管理之间存在的关系。
在MTK 环境中,每当我们进入一个窗口,系统将先提取前一个窗口需保留的数据。这些数据包括:
1. 窗口ID ;
2. 进入窗口时调用的函数和退出调用的函数-- Exit_Func 和 Entry_Func ;
3. 组成窗体的控件的属性(如,列表控件当前高亮显示的条目、当前屏的首末条目等)。
举例说明这些数据在实际中是如何被使用的。
假设存在AB 两个窗口,A 窗口需要保留的数据为data_A。我们先从A 窗口进入到B 窗口。data_A
将在B 窗口调用EntryNewScreen()的时候,被压入一个结构类似于栈的数据存储区域;当从B 调用
GoBackHistory()返回A 时,data_A 从栈顶被弹出,然后A 利用data_A 将自身还原到其进入B 之前的
状态。
这就是History 管理的作用。简言之,就是要保持窗口的外观状态。…………………………………………
【文件名】:091022@52RD_MTK平台历史管理机制介绍.pdf
【格 式】:pdf
【大 小】:184K
【简 介】:
【目 录】:
|
|