关于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
这是为什么?难道那时我用完了堆内存?
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
这是为什么?难道那时我用完了堆内存?