差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
fltk:widget-basic-windows [2025/05/28 10:39] – [Fl_WindowクラスはFl_Groupクラスから派生している] Remove a verbose punctuation freemikanfltk:widget-basic-windows [2025/06/07 08:51] (現在) – [実験1] Remove a verbose punctuation freemikan
行 1: 行 1:
 ====== ウィンドウ ====== ====== ウィンドウ ======
-{{:fltk:fltk_shadow.png?200|FLTK}}+[[fltk:|{{:fltk:fltk_shadow.png?200|}}]]
  
 典型的なGUIアプリケーションに特徴として、ウィンドウが存在するという点が挙げられます。 典型的なGUIアプリケーションに特徴として、ウィンドウが存在するという点が挙げられます。
行 51: 行 51:
 いくつかコードに変更を加えて変化を観察してみます。 いくつかコードに変更を加えて変化を観察してみます。
  
-  * ''window->show(argc, argv);''の行を削除すると、ウィンドウは表示されなくなり、すぐにプログラムは終了してしまいます。 +  * ''window->show(argc, argv);''の行を削除すると、ウィンドウは表示されなくなり、すぐにプログラムは終了してしま 
-  * ''return Fl::run();''の行を削除すると、やはりウィンドウは表示さなくなり、すぐにプログラムは終了してしまいます。+  * ''return Fl::run();''の行を削除すると、やはりウィンドウは表示さなくなり、すぐにプログラムは終了してしま
  
 こういった変化が見られることから、次のように導かれます。 こういった変化が見られることから、次のように導かれます。
行 58: 行 58:
   * window->show()が呼び出されなければ、ウィンドウは表示されない。   * window->show()が呼び出されなければ、ウィンドウは表示されない。
   * ウィンドウが表示されている間、Fl::run()の呼び出しが完了することはない。   * ウィンドウが表示されている間、Fl::run()の呼び出しが完了することはない。
-    * 逆に言えば、ウィンドウが閉じられたらFl::run()の呼び出しは完了してmain関数に戻ってくる。そしてプログラムは終了する。+    * 逆に言えば、ウィンドウが閉じられたらFl::run()の呼び出しは完了してmain関数に戻ってくる。そしてプログラムは終了する。
   * Fl::run()が呼び出されなければ、ウィンドウが閉じられるのを待つことなくプログラムは終了する。   * Fl::run()が呼び出されなければ、ウィンドウが閉じられるのを待つことなくプログラムは終了する。
  
行 158: 行 158:
 同時に、継承されることによってウィジェットのコンテナとしての機能を派生クラスに提供する役目もになっています。 同時に、継承されることによってウィジェットのコンテナとしての機能を派生クラスに提供する役目もになっています。
  
-気をつけたいおきたいのですFl_Groupクラスから派生するウィジェットのクラスはそこそこの数がありますが、そうでないものも多くあります。+ひとつ気をつけたいおきたいことあります。 
 +Fl_Groupクラスから派生するウィジェットのクラスはそこそこの数がありますが、そうでないものも多くあります。
 つまり、どのウィジェットでも子ウィジェットを持つことができるわけではありません。 つまり、どのウィジェットでも子ウィジェットを持つことができるわけではありません。
 例えば、Fl_BoxクラスはFl_Groupクラスから派生していません。 例えば、Fl_BoxクラスはFl_Groupクラスから派生していません。
行 165: 行 166:
 <code cpp> <code cpp>
 Fl_Box *box = new Fl_Box(...); Fl_Box *box = new Fl_Box(...);
-Fl_Box *child_box = new Fl_Box(...);+Fl_Box *non_child_box = new Fl_Box(...);
 </code> </code>
  
-このコードで、child_boxはboxの子にはなりません。+このコードで、non_child_boxはboxの子にはなりません。
  
 一方で、Fl_WindowクラスはFl_Groupクラスから派生しているので、子ウィジェットを持つことができます。 一方で、Fl_WindowクラスはFl_Groupクラスから派生しているので、子ウィジェットを持つことができます。
文書の先頭へ