egy hazafi Creative Commons License 2019.07.28 0 0 113

Oké, köszi a kifejtésért!

Javítottam is a kódomon, és most már csak az objektumok kirajzolásával van gond. Mert ennek alapján:

 

class egyalak
{
 public:
 egyalak(int px, int py) { x=px; y=py; }
 int x;
 int y;
 };

 void __fastcall TForm1::FormCreate(TObject *Sender)
 {
 Graphics::TBitmap *AlakokKepe = new Graphics::TBitmap;
 AlakokKepe->LoadFromFile("alak\alak_all.bmp");
 egyalak *alakok[5];
 int i;
 for (i=0; i<5; i++)
 {
  alakok[i]=new egyalak(4,i+40);
 }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Kirajzol(TObject *Sender)
{
 int i;
 for (i=0; i<5; i++)
 { 
  Canvas->Draw(alakok[i]->x,alakok[i]->y,AlakokKepe);
 }
}

 

az OnPaint-ban lévő Kirajzol függvény sem az alakok-at, sem az AlakokKepe-t nem ismeri fel. Ezeket hogyan tudnám megadni, hogy felismerje? És melyik a célszerűbb: az egyalak osztályban letárolni a képet, vagy így, ahogy most van, külön változóból (AlakokKepe) beolvastatni a Draw-ban? Azért kérdeztem, hogy ezt a képet milyen típusként kellene megadnom, mert ez a deklarációkor szükséges.

Egyébként a __fastcall utasítás szükséges a függvénynévnél? Ha jól olvastam, ez a gyorsítás érdekében van odaírva, hogy regiszterekben adódjon át a paraméter. Nem tudom, hogy ez pontosan miért jó, de tényleg célszerű?

Előzmény: _szergej_ (112)