GUISim.lib的VC源代码

发 布 时 间 : 2008-11-17 来 源 : 立宇泰论坛 作 者 : xiongh 浏 览 :

在来UCGUI官方提供的测试开发中, 只有一个GUISIM.LIB的库文件,作者ucgui经过艰苦的反汇编, 终于还原其C源码,希望使用可以更加清楚的认训到在WINDOWS下模拟器所做的事情.

有兴趣的朋友可以研究研究。我也才下载了,还没空细看。程序说明如下:

/emWin模拟器的几个模块简介...
/2005-05-20

main.obj---------------------调用用户程序的MainTask().
WinMain.obj------------------创建模拟器窗口,mouse/keyboard处理.
SIM_X.obj--------------------初始化并检测LCD宽高及透明色(FF0000),并设置"显示器"在装备位图中的位置.
LCD_X_SIM.obj----------------LCD_X_Init与硬件相关的初始化.
LCDSIM_1.obj-----------------功能与LCDSIM.OBJ类似,但是另外一种显示器输出功能.
LCDSIM.obj-------------------模拟器显示窗口LCD的显示,相当于作显示器输出.
GUI_X_SIM.obj----------------实现系统的一些互斥等.
Branding.obj-----------------emWin版权信息.


/特别说明: 由于工程文件,资源,源码均分开存放, 所以请注意设置
/[c/c++ | preprocessor ]选项当中的"Adition include directory..."为".\..\GUI\Include,.\..\Source,.\..\Resource"
/[link | Input] 选项的确"Aditional include library..."为".\..\GUI\Library"
/这样就不用在[Option | Directory]下设置include/lib路径了..
/否则会报找不到源码文件....

/工程结构说明
project----------------------存放工程.
doc--------------------------存放文档.
Simulation-------------------模拟器源码文件.
resource---------------------资源.
gui/include------------------ucgui的各中头文件.
gui/Library------------------包含GUI.LIB库,供调用ucGUI函数
gui/GUISource----------------UCGUI源码文件.
gui/Config-------------------UCGUI配制文件.
gui/Application--------------UCGUI应用程序文件.

/***********************************************************************
  REVISION LOG ENTRY
  Revision By: ucgui
  Revised on 2005-6-6 01:48:23
  Comments:  v1.0.0.0
***********************************************************************/

1. 基本上完成ucguiview 1.0.0.0版本的开发, 可以进行查看UCGUI图形程序的运行结果...
2. 星期一上班时将在论坛上发布, 后期将陆续推出写作过程及细节的技术文章.

/***********************************************************************
  REVISION LOG ENTRY
  Revision By: ucgui
  Revised on 2005-6-7 0:43:23
  Comments: GUISim 1.0.0.1
***********************************************************************/

1. 增加void MainWnd_OnTimer(HWND hWnd)函数,未完成....
2. 在WndProcMain中增加WM_TIMER消息的处理...
3. 在WndProcMain中增加InitMenu();

/***********************************************************************
  REVISION LOG ENTRY
  Revision By: ucgui
  Revised on 2005-6-11 01:46:56
  Comments: GUISim 1.0.0.1
***********************************************************************/

1. 修改在多任务处理时的几个函数的BUG....
2. 修改在初始化BytePerLine这个每行多少个字节的变量时的BUG, 改为BytePerLine=(XSize+3) & 0xffffffc0...
3. 修改pause与resume处理的几个函数的BUG.
4. 修改菜单初始化InitMenu函数中的一个BUG.


***********************************************************************
  REVISION LOG ENTRY
  Revision By:ucgui
  Revised on 2005-6-8 1:43:23
  Comments: v1.0.0.2
***********************************************************************/

1. 在LCD窗口消息处理消息处理函数中增中MOUSE的处理支持....
2. 增加了各函数的详细注解...
3. 修改了几个函数的BUG, 增加映象检测...


/***********************************************************************
  REVISION LOG ENTRY
  Revision By: ucgui
  Revised on  2005-6-13 0:59:52
  Comments: GUISim 1.0.0.3
***********************************************************************/

1. 提供基本的汉字支持,从csword网友的ucgui在dos下的移值版中改良而来, 直接利用其HZ.C文件,
    但修改了他的程序中显示汉字的一个问题, 详见说明文档.
[说明:csword网友的UCGUI在DOS下的移植版本有一定的学习意义, 因为它同时也整合了UCOS, 可以
进行UCGUI+UCOS的联合编程, 编译器用的是BORLAND3.0版,csword的这个东东在本站有下站.csword
用的是BORLAND提供的BGI标准VGA驱动, 所以对于图形处理, 不是直接写, 而是调用BGI中的函数来写象素点]

2. 修改了创建UCGUI执行主线程的一个BUG...

3. 修改了在支持MT_MultiTasking.c示例时显示出来的一个BUG, 是关于多任务模拟的问题
    主要是在SIM_Start函数所在线程,即MainTask所在线程在创建完GUI应用线程后就退出,
导致在暂停及重新开启功能时出错.因为它们操作的对象即是GUI应用主线程...

有待下一版本增加功能:
  1.增加键盘支持.
  2.增强LOG支持, 使不仅可以用Dbgview.exe来捕捉LOG. 还可以查看LOG文件..
  3.增加原示例包中有一个图形窗口的支持[指用一张模拟硬件电图中来显示LCD显示屏]

点击浏览该文件



上一篇:最新版的ucguI的示例 下一篇:uc/gui3.32源码包下载—这个包更新,推荐下载