JUCE学习了也有接近两周了,现在初步总结下最近进展。
1.常见控件:Button, checkbox, combox, label, editbox, pictureButton, progressbar, solider,...
2.派生控件常见函数:resized, paint, 构造,析构函数。
3.布局方法:切割矩形。
4.控件的重绘:paint中完成。
主要控件的介绍:
1.菜单栏:菜单采用mvc框架模式,即,menubarmodel和menubarcomponent,模型中先写好该有的菜单,控件生成后直接设置模型就可以显示菜单了,
同时菜单的响应函数在itemselected函数中。
右键菜单栏设置,同样道理,先生成模型,然后在生成popupmen菜单,在他的showmenu函数中有设置,设置参数有:模型,生成的位置(可以指定某个控件),菜单的属性设置。
2.工具栏,采用的模式和菜单栏一样,具体实践还没有涉及。
3.状态栏,这部分貌似没有,没有看到现成的菜单栏控件,恐怕这部分需要自己绘制。
4.界面大小设置:可以在mainwindow类中指定窗口大小,也可以设置属性resizechange,调整大小,窗口风格也可以设置,跟随,windows,linux,mac三种操作系统可以变化。
5.JUCE采用模块化设计,所有控件外观方面的属性设置,重新绘制也好都在lookandfeel类中进行,采用的方法开始在控件类中先定义好接口,然后lookandfeel类去继承实现这些接口,所以关于控件重绘这部分参考这个类,其中只管的感觉就是checkbox按钮,这个在qt中有个现成的,实现的比较好,但是在juce中实现的很丑,而且是一个button加重绘的一个钩,不是单独的checkbox控件,所以很难看,但是这部分内容可以根据自己想法绘制,我实践了一下,直接注释源码,绘制了一个矩形,这样check部分换成一个方框加钩子,好看很多。
目前看的就是控件这部分,操作实践也不是很多,接下来计划就是学习控件的重绘和响应函数这部分。
优点:有源码可以查询,虽然看不懂,但是很不错,感觉开源是很好,而且JUCE结构很清楚,这样很好看。
缺点:布局这块确实比较麻烦,没有QTlayout,也没有mfc形象化对齐方式,所以,这部分对我的阻力很大。
目前学习不多,懒惰性比较大,后面会好好加油。
2017···好好加油!