2.4Box类型
优质
小牛编辑
147浏览
2023-12-01
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会减去相应的偏移量