- 【GUI】wxWidgets(旧wxWindows) その5【サイザー】
780 :デフォルトの名無しさん[sage]:2014/09/13(土) 18:03:46.11 ID:iQniTJEB - >>778
出来れば言葉で説明していただけるととても有難いんだけれども。
|
- 【GUI】wxWidgets(旧wxWindows) その5【サイザー】
781 :デフォルトの名無しさん[sage]:2014/09/13(土) 18:20:32.24 ID:iQniTJEB - >>776
MyProject1MyFrame1.cpp に、 void MyProject1MyFrame1::m_button1OnButtonClick( wxCommandEvent& event ) { // TODO: Implement m_button1OnButtonClick this->Close(); } と類似の行が沢山あるけど、this->Close() 以外は、wxFormBuilder が自動生成したとのことで Ok ? >>779 >基本クラスや継承クラスの生成コードは >上書きしちゃってよしなにしてくれないから目視マージが必要になる >で、それならxrcでいっかなとなったりとね この辺りとの関連が知りたい。自分で書いたコードが勝手に上書きされて消されてしまうということ?
|
- 【GUI】wxWidgets(旧wxWindows) その5【サイザー】
782 :デフォルトの名無しさん[sage]:2014/09/13(土) 18:22:33.01 ID:iQniTJEB - そもそも wxFormBuilder って、人間が書いたコードと「マージ」や「アペンド」する機能は全くなくて、
デザイナのテキスト領域に表示されるコードをコピペして使う程度の事しかできないのかな?
|
- 【GUI】wxWidgets(旧wxWindows) その5【サイザー】
784 :デフォルトの名無しさん[sage]:2014/09/13(土) 18:54:43.70 ID:iQniTJEB - class MyFrame1 : public wxFrame {・・・};
class MyProject1MyFrame1 : public MyFrame1 {・・・}; となっていて、 http://stackoverflow.com/questions/8255753/how-to-add-personal-code-into-wxformbuilder-generated-class の ・build your frame/panel in formbuilder ・generate inherited class ・implement your handling code in inherited class ・make changes to form/panel in wxFormbuilder -> will only affect generated class, not inherited class の最後の行と矛盾するね。 wxFormBuilder は、MyFrame1 は書き換えるが、それを継承した所の MyProject1MyFrame1 は、最初の 一回しか書き換えない(というよりユーザーが指示しないと生成しない)、ということらしいから。
|
- 【GUI】wxWidgets(旧wxWindows) その5【サイザー】
785 :デフォルトの名無しさん[sage]:2014/09/13(土) 18:57:59.23 ID:iQniTJEB - つまり、>>781 のイベント・ハンドラにおいて、this->Close(); の外側の部分も手作業で
書くしかないのではなかろうか? そして、対応する *.h ファイルの中に、同じ関数のメンバ関数宣言も手作業で追加するしかないのでは?
|
- 【GUI】wxWidgets(旧wxWindows) その5【サイザー】
787 :デフォルトの名無しさん[sage]:2014/09/13(土) 19:07:33.52 ID:iQniTJEB - >>786
QtCreator では、それが出来るのかな?
|
- 【GUI】wxWidgets(旧wxWindows) その5【サイザー】
790 :デフォルトの名無しさん[sage]:2014/09/13(土) 19:23:58.85 ID:iQniTJEB - >>789
大体、答えが分かった。 つまりあなたは、wxFormBuilder に MyProject1MyFrame1 を生成させて、 this->Close(); を追加したんだ。 そいういうやり方だと、ボタンやメニュー項目を一つ増やす度に、手作業で、また、 this->Close(); を自分で書かなきゃならない。 それが、>>779 の意味だね? だとすれば、this->Close(); の部分は、実践的には、もっと長くなるのだから、 物凄く面倒で、なおかつ危険が伴う作業になるね。
|
- 【GUI】wxWidgets(旧wxWindows) その5【サイザー】
791 :デフォルトの名無しさん[sage]:2014/09/13(土) 19:27:26.32 ID:iQniTJEB - >>790
>そいういうやり方だと、ボタンやメニュー項目を一つ増やす度に、手作業で、また、 >this->Close(); >を自分で書かなきゃならない。 ここの部分を補足すると、その時に追加したボタンやメニュー項目に対するハンドラだけ でなく、既に存在していたボタンやメニュー項目に対する全てのハンドラの中身を手作業で コピーする必要があるということになる。 ボタンやメニュー項目の個数をN とすると、O(N^2) の作業時間が必要になるね。
|