• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列を使ったビットマップクラス)

配列を使ったビットマップクラス

このQ&Aのポイント
  • VC++を使ったフォームアプリケーションでビットマップなどの画像を表示させ、ピクセル処理を施せるプログラムを作成しました。
  • ピクチャボックスが増えても平気な処理にするために、配列を使ってBitmapクラスのオブジェクトを管理したいと考えています。
  • 現在はbmpという名前のBitmapオブジェクトを使用していますが、配列を使用するためにはbmp->という部分をbmp[0]->に変更する必要があります。しかし、変更してもうまく動作しません。解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

配列の宣言は array< Bitmap^>^ bmps; array< PictureBox^>^ pictures; で行います コンストラクタなどで   Array::Resize( bmps, 20 );   Array::Resize( pictures, 20 ); 等として 配列の要素数を確保します for ( int n = 0; n < pictures.Length; n++ ) {   // 各コントロールのインスタンスを作成   pictures[n] = new PictureBox();   // コントロールの各種プロパティを設定   pictures[n]->Size = DrawIng::Size( 100, 100 );   pictures[n]->Location = Drawing::Point( ( n % 4 ) * 113 + 13 , ( n / 4 ) * 113 + 13 );   pictures[n]->Name = String::Format( L"pictures{0}", n ); } // コントロールをフォームに追加 this->Controls->AddRange( pictures ); といった具合です bmpsは bmps[n] = Bitmap::FromFile( "ファイルパス", true ); などといった具合でインスタンス化しましょう

judas15
質問者

お礼

返事が遅れてしまい申し訳ありません。 わかりやすい説明ありがとうございました。 自分でプログラミングしてみましたが、しっかり動いてくれました。 本当にありがとうございます。

関連するQ&A