MiniGUI源代码分析(3)--control目录

 

src/control目录里面全部是MiniGUI内部自定义的控件,主要包括ButtonComboxEdit等。

对于每个控件的内部实现细节,我认为没有必要去深究,因为我们在实际的嵌入式应用中都不会用到这些内部定义的控件,我们需要的是自定义功能和外观的控件。所以,我们的重点放在控件实现的方法和控件的管理上面。

MiniGUI中,每一个控件的实现都有两个部分来组成,分别是控件的注册和消息处理。

在控件注册的时候,会将控件的基本信息填写到结构体中,其中,最重要的一个成员就是控件的消息处理函数。在消息处理函数中的不同实现决定了控件的外观和功能。一个控件的实现结构如下:

 

下面开始说几个重要的概念:

1.在MIniGUI中,控件也是一种窗口,窗口分为主窗口和控件。因为创建控件的时候调用的是createwindow函数来创建控件实例的

2.任何一种类型的控件,必须先注册,后使用,也就是说你必须先调用RegisterButtonControl控件来向系统注册,然后才能用createwidnow来创建控件的实例。建议大家再系统起来的时候就调用RegisterButtonControl函数来向系统注册。

3.既然控件都是窗口的一种了,所以控件记录控件的结构体CONTROL和主窗口的结构体MAINWIN在前面的很多成员变量都是一样的大小和名称,因此在必要的时候可以用强制数据类型转换来实现。

 

好了,参照我上面的结构,你可以自己定制你需要的控件了...:)

 

 

作者:光脚脚 qq:1042077267(欢迎大家跟我联系一起讨论)

转载请注明出处。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值