梦书之家(移动开发)

你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。 ——肖伯纳

导航

关于IDISPLAY_DrawText() ___BREW 平台

开发环境:BREW SDK 3.1.5.27   +    VC ++ 6.0

IDISPLAY_DrawText()函数原型为:
  int   IDISPLAY_DrawText(IDisplay * po,
                           AEEFont Font,
                           const AECHAR * pcText,
                           int nChars,
                           int x,
                           int y,
                           const AEERect * prcBackground,
                           uint32 dwFlags)
如果您要使用prcBackground且dwFlags !=  IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE, 那就要注意了,在传参数的时候,必须满足:x == prcBackground->x,   y == prcBackground->y
否则,调用IDISPLAY_DrawText失败,当然在屏幕上无法看到要显示的内容。
弄了好久,才明白,而且是看了expensetracker示例才领悟到。

2、还有一个更奇怪的事情:
//定义一个AEERect变量rect;
//初始化rect
//调用IDISPLAY_DrawText, 用到了 prcBackground参数
//然后再次初始化rect   <<< 如果这里换成另外的变量的话(当然下面的也用这个变量),是没
   有问题的
//<<<------设个断点 运行到这也就是在调用下面的函数之前,rect的值就变无效了
//IDISPLAY_DrawHLine来画一条水平线,用到了rect <<< 因此没有画成功
编译程序的时候,编译器老是提示:(定位在IDISPLAY_DrawHLine)
warning C4700: local variable 'rect' used without having been initialized

这是为什么?难道那时我用完了堆内存?

posted on 2007-07-18 16:28  梦书  阅读(948)  评论(0编辑  收藏  举报