プロが教える店舗&オフィスのセキュリティ対策術

VC++初心者です。
現在、VC++2005 express edition、CLRプロジェクトでコーディングしております。

いきなりですが、以下のようなイメージをコーディングしていきたい
のですが、どうしたら宜しいでしょうか。
************************************************
・現在、グループボックスA(またはパネルA)にボタンA、ラベルA
 を配置しています。
・int iの値だけ、グループボックスA(それに含まれるボタンA、
 ラベルA)を増やしたいです。
例:int i = 1;のとき グループボックスA1
  int i = 2;のとき、グループボックスA1、グループボックスA2
   という感じで増やしていきたいです。
・グループボックスAを増やしていくと、フォームに入りきらなく
 なるので、これを回避する方法はありますか?
************************************************

そもそもこれは、実現可能なのでしょうか?

A 回答 (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を増やしていくと、フォームに入りきらなくなるので、これを回避する方法はありますか?

 フォームをスクロールさせれば対応出来そうに思えます。
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。

まだ試していませんが、このように書いていくのですね。
少し時間がかかりますが、追って再度ご連絡させて頂きます。
たくさんのヒントを下さって、ありがとうございました。

お礼日時:2009/04/21 04:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!