如何在fluid中添加自定义控件
生活随笔
收集整理的這篇文章主要介紹了
如何在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”
這一步的目的是在控件面板中增加該控件的選項,點擊這個控件的按鈕后在窗口中就會出現這個控件。
?第三步:將控件添加到fluid的new 菜單
在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.cxx的New Menu[]中添加以下兩行
{"coustom widget",0,0,0,FL_SUBMENU},
{0,0,cb,(void*)&Fl_Lcdnumber_type},
?第四步:重新編譯fluid
?? 在fluid目錄下運行make,編譯fluid,重新打開fluid后就可以看到在控件面板中和new菜單中有Fl_Lcdnumber控件了,使用方法與其他控件一樣。
總結
以上是生活随笔為你收集整理的如何在fluid中添加自定义控件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编译microwindow(nano-X
- 下一篇: 我阅读科研文献的一些做法[转]