2012-01-10 3 views
1
MainWindow::MainWindow(int w, int h, const string& c) 
: Fl_Window(w, h, c.c_str()) // Don't call constructor over here 
{ 
    script.load_file(WIN_CONFIG_SCRIPT); 

    int width = script.get_global_int("width"); 
    int height = script.get_global_int("height"); 

    const char* caption = script.get_global_string("caption").c_str(); 

    /** CALL CONSTRUCTOR NOW **/ 

    //NOTE: I don't know a way to change an FLTK Fl_Window's Caption after 
    //initialising it. 

    Toolbar* toolbar = new Toolbar(0, 0, this->w(),30); 
    toolbar->add_button("Hello"); 
    toolbar->add_button("World!"); 

    end(); 
} 

コンストラクタ内の基本クラスを初期化するにはどうすればよいですか?代わりに、を初期化した後、FLTK Fl_Windowのキャプションをどのように変更するのですか?この混乱の中に何か道がありますか?コンストラクタ引数以外のFL_Windowのキャプションを変更することはできますか?

答えて

6

コンストラクタ内の基本クラスを初期化するにはどうすればよいですか?

あなたはそうではありません。

インスタンスのベース部分は、インスタンスの派生部分またはそのメンバーの前に初期化する必要があります。私はそれを初期化した後、FLTK Fl_Windowのキャプションを変更するにはどうすればよい


The documentationは、あなたが呼び出すことができると言う:

label("my caption") 

はそれで何が悪いのでしょうか?


この混乱のうち任意の他の方法は?


また、あなたはFLTK 2.

+0

(1)感謝にアップグレードする必要があります。あなたは最近、私をたくさん助けてくれました。他の最近の質問のうち3〜4つにも答えました。もう一度感謝します。 – ApprenticeHacker

+0

@IntermediateHacker:ようこそ。 –

+0

残念ながら、FLTK 2はデッドブランチです。開発者は現在、FLTK 3に焦点を当てています。だから私は彼がどちらかのユーザーにFLTK 1.3またはFLTK 3を提案するだろう.FLTK 2は(IMHO)の方法よりも先に進むが、FLTK 2のすべての良いものはFLTK 3に移植される。 – DejanLekic

関連する問題