如何在fluid中添加自訂控制項

來源:互聯網
上載者:User
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控制項了,使用方法與其他控制項一樣。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.