Przypisanie zdarzenia onMouseDown do TImage tworzonego dynamicznie

0

Mam problem z przypisaniem zdarzenia onMouseDown do TImage tworzonego w ten sposób:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
i=i+1;
	  TImage* b = new TImage(this);

	b->Parent = Form1;
	b->Height = 60;
	b->Width = 60;
	b->Left = 4;
	b->Top = 4;
	b->Visible = true;
	b->Enabled = true;
	b->Canvas->Brush->Color=clNone;

	b->Name="b"+i;
	b->Show();
	b->OnMouseDown=BonMouseDown;   // tutaj wyrzuca błąd:Undefined symbol 'BonMouseDown'
				  TImage *tab_images[100];

funkcja onMouseDown ma takie ciało:

void __fastcall TForm1::BonMouseDown(TObject *Sender,TMouseButton Button, TShiftState Shift, int X, int Y)
{
			 TImage *obrazek = dynamic_cast<TImage *>(Sender);

// tutaj coś robię z obrazek....

}

Gdzie leży błąd?

0

Bez względu czy przypisanie wygląda tak:

b->OnMouseDown=BonMouseDown;

czy tak:

b->OnMouseDown=&BonMouseDown;

kompilator wyrzuca ten sam błąd.

0

Problem rozwiązany
Funkcja wymaga deklaracji w pliku nagłówkowym

private:
void __fastcall BonMouseDown(TObject *Sender,TMouseButton Button, TShiftState Shift, int X, int Y);

0

To fajnie, że Ci się udało rozwiązać problem i się podzieliłeś z tym na forum. Ale na przyszłość jak masz problem to fajnie by było abyś pokazał jaki błąd wypluwa kompilator :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1