ITextCtl为什么会覆盖全屏?

vigoqiu 2009-03-27 03:27:40
我先画了一张图片,然后在图片上面添加ITextCtl,但图片已被ITextCtl覆盖,除了ITextCtl的位置其他地方全部空白,请问这是什么原因?代码如下:


AEERect rc, rcm;
IImage *m_IImage = ISHELL_LoadImage(pMe->a.m_pIShell,"logo.png");
IIMAGE_Draw(m_IImage,0,0);

SETAEERECT(&rc, 10, 50, 200, 30);
ITEXTCTL_SetRect(pMe->m_pText, &rc);
ITEXTCTL_SetMaxSize(pMe->m_pText, 60);
ITEXTCTL_SetInputMode(pMe->m_pText, AEE_TM_NUMBERS);
ITEXTCTL_SetText(pMe->m_pText,(AECHAR*)L"56789",5);
ITEXTCTL_SetProperties(pMe->m_pText, TP_FRAME);
ITEXTCTL_SetActive(pMe->m_pText, TRUE);

IDISPLAY_Update (pMe->a.m_pIDisplay);


弄了一天没搞清楚原因,麻烦大家帮帮忙
...全文
1604 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
freudlv 2009-09-04
  • 打赏
  • 举报
回复
学习了。。。。
bencharluo 2009-09-02
  • 打赏
  • 举报
回复
前赴后继啊。。学习了
sunyymq 2009-04-01
  • 打赏
  • 举报
回复
来接分!
vigoqiu 2009-04-01
  • 打赏
  • 举报
回复
问题已解决,谢谢各位,散分
vigoqiu 2009-04-01
  • 打赏
  • 举报
回复
问题已解决,谢谢各位,散分
sunyymq 2009-03-30
  • 打赏
  • 举报
回复
你的代码有问题。
首先:LOADIMAGE后要用IIMAGE_NOTIFY去画图,异步去画。
另外,应该先设置TEXT的那些属性后再去画图,这样保证画出来的图不会被覆盖,又能保证TEXT空间有效。
dxj1234 2009-03-28
  • 打赏
  • 举报
回复
SetRect方法本身好像没有问题,但你的代码这样写似乎有点问题:
1、png图片load之后马上draw不一定能描绘出来,png是异步加载的,需要延迟描绘;
2、ITextCtl对象创建的时候似乎就会占满全屏,并且会Redraw一次,是否在IImage_Draw之后使用的ISHELL_CreateInstance生成ITextCtl?
  • 打赏
  • 举报
回复
这是局部刷新或者多窗口的问题,好像还没有什么巧妙的方法,除了BUIW之外
vigoqiu 2009-03-27
  • 打赏
  • 举报
回复
去Brew论坛看到一种比较麻烦的办法,就是在Draw所有东西前先把ITextCtl加进去,然后ITEXTCTL_SetActive就可以看到ITextCtl,我试过也可以,但有没有别的简单的方法?ITEXTCTL_SetRect好像存在有Bug,我用的是3.1的SDK

2,854

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧