UCGUI上MULTIPAGE画线等图形实现办法

MULTIPAGE控件提供了一系列API可以很方便的添加其他控件在它的tab页上,但是同时碰到一个问题:假如我想要在某个tab页上用GUI_DrawLine画一些线怎么办?

首先我想到用multipage每一页的dialog控件,WM_SelectWindow后在上面操作,尝试后发现一点反应都没有。

查阅官方文档uC-GUI_User_Manual_522.pdf,发现有两个API:MULTIPAGE_AddEmptyPage和MULTIPAGE_AddPage,用来把某一个WM_HWIN类型的window添加到MULTIPAGE上去(创建一个新的tab页),(郁闷的是中文的官方手册上根本没有提到这两个api,翻译敢专业点?),于是我就在欲添加的那个window上GUI_DrawLine然后把它添加到MULTIPAGE上,这样带来的效果就是在画完的瞬间被MULTIPAGE覆盖。

然后又想到或许可以把MULTIPAGE的背景设为透明来让被覆盖的内容显示。就是在这步上花了我整整一天时间,查了很多遍官方文档,试了很多次,在群里问了很多遍,都得不到想要的结果。可把我给纠结的。就在我快要放弃的时候想到有两个API: WM_BringToBottom和WM_BringToTop,WM_BringToBottom的原版函数描述是:Places a window behind its siblings。意识是把一个窗口放在它同属的下面。那也就是说要有共同的父窗口,那就把WM_HBKWIN作为他们的父窗口好了。当我要显示自己画的图形的时候,就把自定义window放在上面,要显示MULTIPAGE的时候就把MULTIPAGE放在前面。最后的效果如图:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值