Bonjour,
J'aimerais insérer une image dans un Panel en la posant dans celui-ci.
J'ai trouvé des exemples avec OnDragDrop et OnDragOver pour la VCL mais pas pour FireMonkey dont les paramètres des 2 événements cités sont différents de ceux de la VCL.
Dans mon projet : Un ImageList et un Glyph qui contient la référence Images de ma liste d'images.
J'ai créé des bitmaps et les fonctions ci-dessous dans une boucle.
Un extrait de mon code :
#
TBitmap *MyBitmap; // prour créer les BitMap
bool MouseBtnPressed; // true si click sur CarteMouseDown false si CarteMouseUp
int XPos, YPos;
void __fastcall TForm1::CarteMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, float X, float Y)
{
TImage* monimage= dynamic_cast<TImage*>(Sender);// récupération de l'image sélectionnée
MouseBtnPressed = true;
monimage->BringToFront();
XPos = X;
YPos = Y;
}
void __fastcall TForm1::CarteMouseMove(TObject *Sender, TShiftState Shift, float X, float Y)
{
TImage* monimage= dynamic_cast<TImage*>(Sender);// récupération de l'image séléctionnée
if (MouseBtnPressed == true)
{
monimage->Position->X += X-XPos;
monimage->Position->Y += Y-YPos;
}
}
void __fastcall TForm1::CarteMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, float X, float Y)
{
TImage* monimage= dynamic_cast<TImage*>(Sender);// récupération de l'image séléctionnée
MouseBtnPressed = false;
}
Merci pour vos réponses.
Cordialement
Partager