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 :

Utilisation TPopupMenu sur TImage


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    52
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Par d�faut Utilisation TPopupMenu sur TImage
    Bonjour,
    Y a t'il une solution pour connaitre sur quel objet a �t� d�clench� l'�v�nement OnClick d'un menu popup.
    Dans le PopupOnClick(TObject *Sender), le sender correspond au TPopup ou � l'objet sur lequel j'ai cliqu� ?

    Dans mon cas le PopupOnClick se d�clenche sur un TImage, je voulais r�cup�rer la taille de cette image de la fa�on suivante :


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    void __fastcall TFrm_Main::PpM_ProcNG2Click(TObject *Sender)
    {
            TImage *Image = (TImage *)Sender;
            x = Image->Width;
    }
    Mais �a n' a pas l'air de fonctionner.

    Merci de vos r�ponses et suggestions.

    A+.

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    D�tails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par d�faut
    Salut Franck26,

    Premi�rement, met ton code dans les balises [CODE].

    Deuxi�ment, va voir le post suivant: http://www.developpez.net/forums/sho...d.php?t=228386

  3. #3
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonsoir,

    On peut imaginer :
    . Un fonction commune pour les OnMouseMove des TImage :
    - dans le .h:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    __published:	// Composants g�r�s par l'EDI
    void __fastcall GenImageMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
    
    private:	// D�clarations de l'utilisateur
    TImage *pIm;
    - dans le .cpp:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void __fastcall TForm2::GenImageMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
    {
    TPoint ppoint;
    ppoint.x = X;
    ppoint.y = Y;
    if ( PtInRect(&rect, ppoint)!= 0 )
    {
    	this->pIm = (TImage*)Sender;
    }
    }
    Dans l'inspecteur d'object, tous les �v�nements OnMouseMove des TImages doivent d�signer GenImageMouseMove.
    Dans le OnClick d'un des Items du PopupMenu, on peut �crire :
    (ici l'item s'appelle 'Essai')
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    void __fastcall TForm2::Essai1Click(TObject *Sender)
    {
    ShowMessage(this->pIm->Name);
    }
    Et, a priori, cela fonctionne ...

    En esp�rant t'aider,
    @ +

  4. #4
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    52
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Par d�faut
    Merci Crayon pour l'indication des balises, c'est vrai que c'est plus propre.
    Sinon, je suis aller sur la discussion que tu m'as indiqu�, mais je ne n'ai pas trouv� de solution pour mon cas.

    Je cherche a obtenir un pointeur sur l'image sur laquelle j'ai cliqu� pour d�clencher mon popup.

    Sunchaser, d'apr�s ce que je comprend, tu me proposes de m�moriser le pointeur sur mon image quand je passe dessus avec la souris.
    Donc je suppose que c'est parce que dans le code suivant, qui est d�clench� par OnClick de mon Popup, le sender n'est pas un pointeur sur l'objet sur lequel j'ai cliqu�, c'est �a ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    void __fastcall TFrm_Main::PpM_ProcNG2Click(TObject *Sender)
    {
            TImage *Image = (TImage *)Sender;
            x = Image->Width;
    }
    Si c'est le cas, je vais utiliser ta solution. En revanche je n'ai pas compris l'utilit� du code suivant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    if ( PtInRect(&rect, ppoint)!= 0 )
    {
    	this->pIm = (TImage*)Sender;
    }
    C'est pour v�rifier si la souris est bien sur l'image je suppose, mais que repr�sente rect ?

    Merci a tous les 2.
    A+.

  5. #5
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Arrfff ....ou ai-je la t�te moi ?



    On peut �crire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    if ( PtInRect(((TImage*)Sender)->Canvas->ClipRect, ppoint)!= 0 )
    a la place ...

  6. #6
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    52
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Par d�faut
    Ok, merci.
    Ca fonctionne, tout est r�solu.
    A+.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [CKEditor] Qui utilise FCKeditor sur son site php pour config ?!
    Par guy2004 dans le forum Biblioth�ques & Frameworks
    R�ponses: 62
    Dernier message: 26/10/2005, 18h24
  2. R�ponses: 6
    Dernier message: 10/06/2005, 23h56
  3. R�ponses: 2
    Dernier message: 30/11/2004, 09h42
  4. [Sybase] Utilisation indexes sur table Proxy
    Par MashiMaro dans le forum Sybase
    R�ponses: 2
    Dernier message: 20/02/2004, 10h20
  5. [Utilisation Postgresql sur windows]
    Par xhercule dans le forum PostgreSQL
    R�ponses: 6
    Dernier message: 26/01/2004, 18h36

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