Hola danielingo.
Al no poder ver la totalidad del código sigo sin entenderte claramente, pero te pongo un ejemplo de como haría para almacenar la posición actual de la imagen del muñeco por si te aporta alguna idea:
Código:
TPoint PDoll; // Almacena coordenadas actuales de la imágen
void __fastcall TForm1::DrawGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
if (State.Contains(gdSelected)) {
PDoll = (Point)(ACol,ARow); // Guardar posición del muñeco
DrawGrid1->Canvas->StretchDraw(Rect, Image1->Picture->Graphic); // Pintarlo
}
else { // Limpiar celda
DrawGrid1->Canvas->Brush->Color = DrawGrid1->Color;
DrawGrid1->Canvas->FillRect(Rect);
}
}
// Mostrar posición actual del muñeco
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage(Format("El muñeco esta en las coordenadas: (%d , %d)",
ARRAYOFCONST(((int)PDoll.x,(int)PDoll.y))));
}
En el ejemplo, la imagen (muñeco) va cambiando de celda mediante el click del mouse sobre alguna de ellas.
Saludos
