🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 2.4Box类型 Fl_Boxtype的类型在`<Enumeration.H>`中定义,可以用Fl_Widget::box()设置和得到。 FL_NO_BOX意思是任何东西都不要画,但仍然是留在窗口上。Fl_FRAME类型只是画边框,中间不做任何改变。如图中蓝色的部分。 ### 制作你自己的Boxtypes 你可以自己制作个性风格的boxtype.通过一个小函数,并将其加到boxtypes的列表中画图函数 画图函数传递的参数控件的是box的边界和背景颜色 ``` void xyz_draw(int x, int y, int w, int h, Fl_Color c) { } ``` 如一个简单的画图函数填充一个矩形,给定颜色并画一个黑色的外框 ``` void xyz_draw(int x, int y, int w, int h, Fl_Color c) { fl_color(c); fl_rectf(x, y, w, h); fl_color(FL_BLACK); fl_rect(x, y, w, h); } ``` ### 加入自定义的box类型 Fl::set_boxtype函数添加或取代特定的box类型 ``` #define XYZ_BOX FL_FREE_BOXTYPEFl::set_boxtype(XYZ_BOX, xyz_draw, 1, 1, 2, 2); ``` 最后4个参数是偏移量,当画该 box时,x,y,w,h会减去相应的偏移量