在做计算器界面修改这个项目中遇见的问题。
先把需求说清楚,黑莓风格的计算器里面有触摸和非触摸两个流程。界面,功能,代码和坐标是不一样的。我是要在非触摸下做出触摸屏的界面,除了不能触摸以外,所有的功能都要和触摸屏下一样。
之前先是找到资源,然后替换图片资源,加载,调坐标,调功能,调bug。
资源很快就找到了,然后就是替换资源图片和加载。
调坐标的时候遇到了很大的问题。因为程序流程没看懂。把触摸屏里调坐标和非触摸屏下调坐标的代码搞混了。结果没调出来。加之做得项目是黑莓风格的,按键多了很多。有些字母键没注册,结果写的对应按键的响应函数总是不能执行。等等很多痛苦的东西。。不忍回忆了。哈哈。。
只把这个项目中遇到的一些经验记载下吧.wgui_softkey_oem.c这个文件下的show_softkey_background_with_clipping()这个函数很重要哦,我在计算器里把左右软键的界面给关掉不显示了,但是在按右软键退出计算器或者之前进入计算器的时候还是会显示不带字的右软键背景。右软键的背景就在这个函数下面画的。在这个函数设置断点,然后在VC中查看call back看调用关系。一路跟上去看看是在哪个函数画了这个软键背景,把它屏蔽掉。OK了。哈哈。
第二个经验就是
calculator.c中的注册按键响应时,因为setkeyhandler的第一个参数是无参的函数指针。所以需要传有参的函数时,只能用个全局变量,并把有参函数用无参函数封装起来。。。
出处:http://blog.csdn.net/toonny1985/archive/2009/10/13/4663783.aspx