C++ Builderで複数の画像を表示する方法は何ですか?
C++ Builderで複数の画像を表示する方法は、TImageコンポーネントとTOpenPictureDialogコンポーネントを使用することができます。
複数の画像を表示する方法が以下に示されています。
- C++ BuilderのGUIデザイナーで、画像表示領域としてTImageコンポーネントをウィンドウにドラッグアンドドロップします。
- ウィンドウにTOpenPictureDialogコンポーネントを追加し、複数の画像を選択できるようにします。
- 窓のコード内で、選択した複数の画像ファイルのパスを保存するためにTStringListオブジェクトを作成してください。
- 複数の画像を表示する必要があるイベント(たとえば、ボタンのクリックイベント)では、TOpenPictureDialogコンポーネントのExecuteメソッドを使用して複数の画像ファイルを選択し、選択したファイルのパスをTStringListオブジェクトに保存します。
- TStringListオブジェクト内のファイルパスをループし、TImageコンポーネントのPictureプロパティを使用して各画像を読み込み、複数の画像を表示するためにTImageコンポーネントの位置とサイズを調整します。
以下はサンプルコードです。
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <Vcl.Dialogs.hpp>
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TOpenPictureDialog *OpenPictureDialog = new TOpenPictureDialog(this);
TStringList *ImageFiles = new TStringList();
if (OpenPictureDialog->Execute())
{
ImageFiles->Assign(OpenPictureDialog->Files);
for (int i = 0; i < ImageFiles->Count; i++)
{
TImage *Image = new TImage(this);
Image->Parent = this;
Image->Picture->LoadFromFile(ImageFiles->Strings[i]);
// 根据需要调整图片的位置和尺寸
Image->Left = i * 100;
Image->Top = 50;
Image->Width = 100;
Image->Height = 100;
}
}
delete OpenPictureDialog;
delete ImageFiles;
}
ボタンをクリックすると、ファイル選択ダイアログが表示され、複数の画像ファイルを選択すると、ウィンドウに複数の画像が表示されます。それぞれの画像は新しいTImageコンポーネントを使用して表示され、必要に応じて位置とサイズが調整されます。