- ベストアンサー
【VC++2005(CLR)】動的にパネルやグループに含まれるボタン、ラベルを増やす方法
- VC++初心者です。VC++2005 express edition、CLRプロジェクトでコーディングしています。
- グループボックスやパネルに含まれるボタンやラベルを動的に増やす方法を知りたいです。
- フォームに入りきらなくなるのを回避する方法も教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ・int iの値だけ、グループボックスA(それに含まれるボタンA、ラベルA)を増やしたいです。 例えば、グループボックスと其の中にボタンを作成したければ、 //各コントロールの動的作成 System::Windows::Forms::Button^ button = gcnew System::Windows::Forms::Button(); System::Windows::Forms::GroupBox^ groupBox = gcnew System::Windows::Forms::GroupBox(); //レイアウトロジックを停止する this->SuspendLayout(); groupBox->SuspendLayout(); //グループボックスにボタンを追加 groupBox->Controls->Add(button); //グループボックスの設定 groupBox->Name = L"group box A2"; groupBox->Text = L"group box A2"; groupBox->Location = System::Drawing::Point(6, 6); groupBox->Size = System::Drawing::Size(100, 100); //ボタンの設定 button->Name = L"button A2"; button->Text = L"button A2"; button->Location = System::Drawing::Point(6, 18); button->Size = System::Drawing::Size(64, 24); //フォームにグループボックスを追加 this->Controls->Add(groupBox); //レイアウトロジックを再開する groupBox->ResumeLayout(false); this->ResumeLayout(); this->PerformLayout(); と言った具合で、条件に当てはまる度に、付け加えていけば良いのではないでしょうか。 此れを幾つも作成する場合は、buttonやgroupBoxをarrray<System::Windows::Forms::Control^>等に入れて持っておくなど(此れに関しては探して持ってくる事も出切る筈です)。 ・グループボックスAを増やしていくと、フォームに入りきらなくなるので、これを回避する方法はありますか? フォームをスクロールさせれば対応出来そうに思えます。
お礼
ご回答、ありがとうございます。 まだ試していませんが、このように書いていくのですね。 少し時間がかかりますが、追って再度ご連絡させて頂きます。 たくさんのヒントを下さって、ありがとうございました。