Przeglądanie zawartości TImageList na TImage

Jeśli mamy wczytane do TImageList jakieś obrazki i chcielibyśmy je przeglądać w TImage za pomocą dwóch przycisków Button1 (Caption = "Wstecz") i Button2 (Caption = "Dalej"):

W pliku nagłówkowym Unit1.h w sekcji private deklarujemy zmienną nrObrazka:

Unit1.h

private:
   int nrObrazka;

Tworzymy zdarzenie OnCreate dla formularza:

Unit1.cpp

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   nrObrazka = 0;
   ImageList1->Draw(Image1->Canvas, 0, 0, nrObrazka);
}

Tworzymy zdarzenie OnClick dla Button1 (przeglądanie obrazków wstecz):

Unit1.cpp

void __fastcall TForm1::Button2Click(TObject *Sender)
{
   nrObrazka--;
   if (nrObrazka < 0) nrObrazka = ImageList1->Count - 1;
   Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height));
   ImageList1->Draw(Image1->Canvas, 0, 0, nrObrazka);
}

Tworzymy zdarzenie OnClick dla Button2 (przeglądanie obrazków naprzód):

Unit1.cpp

void __fastcall TForm1::Button3Click(TObject *Sender)
{
   nrObrazka++;
   if (nrObrazka == ImageList1->Count) nrObrazka = 0;
   Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height));
   ImageList1->Draw(Image1->Canvas, 0, 0, nrObrazka);
}