欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

如何在fluid中添加自定义控件

发布时间:2025/4/16 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 如何在fluid中添加自定义控件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
fluid中已经有它自己自带的控件,那如何让我们自定义的控件放到fluid中呢,这里有两种方法,一种是修改fluid代码,一种是以另外的控件来代替自定义的控件,只是在代替控件属性的class选项下填写自定义控件的类名,这种方式优点是添加方便,缺点是不能所得即所见。另一种方式就是修改fluid的代码,让自定义控件像fltk自带的控件一样使用,下面就介绍如何通过修改fluid代码,添加自定义的控件。 以下以Fl_Lcdnumber控件为例。 第一步:首先需要在fltk的库中添加该控件 Fl_Lcdnumber.H 保存在FL目录下 Fl_Lcdnumber.cxx 保存在src目录下 修改src->Makefile文件,将Fl_Lcdnumber.cxx添加到makefile文件中,在src目录下运行make,重新编译fltk库。 第二步:在function_panel.fl增加一个按钮,修改相关属性,与其他控件的属性一样,不同的是在属性面板的C++user_data框中的写上“Fl_Lcdnumber 这一步的目的是在控件面板中增加该控件的选项,点击这个控件的按钮后在窗口中就会出现这个控件。  第三步:将控件添加到fluidnew 菜单 factory.cxx中定义class Fl_Lcdnumber_type,内容如下: #include<FL/Fl_Lcdnumber.H> class Fl_Lcdnumber_Type:public Fl_Widget_Type { public:    virtual const char *type_name(){return "Fl_Lcdnumber";}    Fl_Widget *widget(int x, int y,int w,int h){  return new Fl_Lcdnumber(x,y,w,h);}  Fl_Widget_Type *_make(){return new Fl_Lcdnumber_Type();}  intpixmapID(){return15;}                                                                                                                                             }; static Fl_Lcdnumber_Type Fl_Lcdnumber_type; factory.cxxNew Menu[]中添加以下两行 {"coustom widget",0,0,0,FL_SUBMENU}, {0,0,cb,(void*)&Fl_Lcdnumber_type},  第四步:重新编译fluid    fluid目录下运行make,编译fluid,重新打开fluid后就可以看到在控件面板中和new菜单中有Fl_Lcdnumber控件了,使用方法与其他控件一样。

总结

以上是生活随笔为你收集整理的如何在fluid中添加自定义控件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。