MiniGui开发问题锦集

本文详述了MiniGUI开发中的若干问题及其解决方案,包括透明背景窗口与控件的创建,透明背景动画,鼠标不显示的问题,监听事件未触发,自定义控件显示问题,界面更新闪烁以及开启UI旋转功能的步骤。对于每个问题,作者提供了具体的技术细节和调整建议。
摘要由CSDN通过智能技术生成

前言

本文记录了我学习MiniGui开发过程中遇到的一些有意思问题与解决方法,会随着我学习的深入慢慢的更新下去。文章中窗口指的是通过CreateMainWindow创建的窗口,控件是指CreateWindowCreateWindowEx创建的控件。

1 创建透明背景窗口

方法一:窗口创建时,在界面的窗口过程函数里添加MSG_ERASEBKGND监听,什么也不画就是透明背景,这种方法有一个缺陷,就是透明背景只能和创建窗口的时候一样,改变控件的形状或位置,原来控件的形状或位置还留在原来的地方,不能透明

case MSG_ERASEBKGND: {
    return 0;
}

方法二:使用mlshadow引擎
1、在配置的时候使能videomlshadow,真实引擎可以使用fbcon或qvfb,这里使用qvfb

./configure --enable-qvfbial --enable-videoqvfb --enable-videomlshadow

2、配置MiniGUI.cfg,把gal_engine的值换成mlshadow,mlshadow的real_engine换成qvfb就可以了。def_bgcolor是背景色,double_buffer可以取值enable/disable,表示刷屏时是否使用双缓冲。

MLShadow 引擎是实现了在机顶盒、PMP等产品的方案中提供多个显示层,以完成类似硬件提供的图形层叠加功能,自动实现层之间的透明、半透明的显示。

[system]
# GAL engine and default options
gal_engine=mlshadow
defaultmode=800x480-32bpp

[qvfb]                       
defaultmode=800x480-32bpp                                     
display=0

[mlshadow]              
real_engine=qvfb         
defaultmode=800x480-32bpp                                           
def_bgcolor=0x00FF00      
double_buffer=enable                            

3、MiniGUI 提供了对 MLShadow 引擎当中虚拟图形层的操作函数,以实现对不同图形层的控制


                
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值