关于minigui的皮肤控件无法显示问题

这两天在使用create_skin_control时,发现一个严重的问题:
控件相关参数设置好之后调用此函数,控件仍然无法显示。

网上对于这个问题没有一丝一毫的发现和分析,只能自己来!

我在经过create_slin_main_window等相关调试后,发现依旧不能使用create_skin_contro,问题的可能性有二:
1、函数使用方法不对
2、minigui提供的API本身出了问题。

经过两天一夜的尝试,终于找到了问题的根源:minigui提供的API本身出了问题。

过程是这样的:首先我查看了minigui的libminigui中.h和.c文件的描述,发现create_skin_control本质上是一个自定义控件。但是以我之前做自定义控件的经验来看,这个地方似乎缺少了Register函数!
然后,我尝试在调用自定义控件之前,不注册的结果。果然不显示自定义控件!
所以,我对minigui源代码进行了修改,在create_skin_control函数刚开始加上"RegisterSkinControl();"
重新编译minigui库函数,对相关显示设备重新设置之后,终于可以顺利使用create_skin_control函数了。

虽然是个无关痛痒的界面美化上的需求让我去解决这个小问题,但是过程领悟到了许多。

开心!哈哈!

原文地址:https://www.cnblogs.com/sankye/p/2725427.html