IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Bitmap pouvant suivre le curseur?


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut Bitmap pouvant suivre le curseur?
    Ce problème est simple : Une TBitmap ou TImage crée par défaut avec une bitmap chargée avec LoadFromFile qui suivrait constamment le curseur de la souris.
    -> Soit utilisation du Canvas ou Soit les coordonnées de la TImage à changer

    Coordonnées TImage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y)
    {
             TImage *Image;
             const AnsiString Str="C:\\Program Files\\Borland\\CBuilder6\\Projects\\...";
             Image->Picture->LoadFromFile(Str);
     
             Image->Left=X;
             Image->Top=Y;
     
             delete &Image;
    }
    //---------------------------------------------------------------------------
    OU Canvas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y)
    {
                Graphics::TBitmap *Bmp = new Graphics::TBitmap();
                const AnsiString Str="C:\\Program Files\\Borland\\CBuilder6\\Projects...";
             Bmp->LoadFromFile(Str);
             Form1->Canvas->Draw(X,Y,Bmp);
     
    }
    Premier Cas : Soit l'image n'apparait pas, soit message d'erreur de chargement de l'image bmp;

    Deuxieme Cas : Il marche mais pas de possibilité pouvant effacer l'image sans supprimer le canvas qui se trouve déjà derrière.

    Aidez-moi, et je vous offrirai une reconnaissance éternelle

  2. #2
    Membre confirmé Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut
    salut,
    tu peux essayer ce code ça marche très bien pour moi (je dépalce des images)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Image->SetBounds( Image->Left + X - DeplX,
    Image->Top + Y - DeplY,
    Image->Width,
    Image->Height);
    et tu déclarer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int DeplX;
    int DeplY;

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    C'est bon j'ai trouvé la solution (Image->Left=X, Image->Top=Y tout simplement) mais j'ai besoin de savoir comment créer une image avec l'opérateur new car Image = new TImage; ca marche pas...

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Le constructeur nécessite un paramètre pour donner un propriétaire à l'objet.

    Si celà se passe au niveau d'une méthode membre d'une form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TImage *Image = new TImage(this);
    Image->Parent = this;
    ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TImage *Image = new TImage(Form1);
    Image->Parent = Form1;
    Form1, en tant que propriétaire, est ici purement anecdotique car le propriétaire peut être n'importe quel composant dérivant de TComponent.
    Par contre, le Parent est obligatoirement l'objet sur lequel il se dessine.

    A plus !

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    Reconnaissance éternel du fond du coeur à Henderson et bhahmed pour leur aide
    Bonne soirée à tous
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/10/2008, 12h22
  2. Lecture d'une image bitmap
    Par Geronimo dans le forum x86 32-bits / 64-bits
    Réponses: 18
    Dernier message: 28/06/2002, 12h01
  3. Comment masquer le curseur de la souris ?
    Par benj63 dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/06/2002, 18h54
  4. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo