C++Builderはかれこれ使っているのだけど、MDIアプリは大昔に遊びで一回書いただけでそれから一回も使っていなかった。
最近久々に使う機会があったのだけど、MDIアプリにつきものの「ウィンドウ」メニューの中にある「並べて表示」とか「重ねて表示」の実現の方法がわからなくなった。
Google様にお伺いを立ててもなかなかお答えを頂けなくて弱ったのだけど、Delphiの情報まで検索してやっとわかった。
今後のためにメモっておこう。
【並べて表示】
void __fastcall TfrmMAIN::N8Click(TObject *Sender) { // 並べて表示 Tile(); }
【重ねて表示】
void __fastcall TfrmMAIN::N9Click(TObject *Sender) { // 重ねて表示 Cascade(); }
【アイコンの整列】
void __fastcall TfrmMAIN::I1Click(TObject *Sender) { // アイコンの整列 ArrangeIcons(); }
めちゃ簡単。
ついでに書いておくと、この下に開いている子フォームのリストを入れるには、親フォームの「WindowMenu?」プロパティに「ウィンドウ・メニュー」をセットしておくだけでいい。
ただ、C++Builderのバグがあるらしく、ウィンドウ・メニューの中に区切り線(Captionが「-」のもの)があるとうまく動かないらしい。