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

MFC Discussion :

[C++.net]D�placer un Panel avec la souris


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut [C++.net]D�placer un Panel avec la souris
    J'ai trouv� un tuto qui permet de faire � peu pr�s ce que je souhaite seulement il est fait pour C++ Builder

    http://chgi.developpez.com/tips2/ "D�placement d'une fen�tre sans barre de titre :"

    j'aimerai donc savoir comment on fait la m�me chose sous VC++.net

    je ne vois pas � quoi correspond :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    Left += X-XPos;
    Top += Y-YPos;
    sous VC++.net car quand je met X,Y comme �a sous VC++.net il me met
    "error C2065: 'X' : undeclared identifier,error C2065: 'Y' : undeclared identifier"
    De plus,
    Comment utilise t-on ce code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    ReleaseCapture();
    SendMessage(Handle, WM_SYSCOMMAND, 0xF012, 0);
    sous VC++.net ?

    Peut-on dire que ce code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
          XPos = X;
          YPos = Y;
          if (Button == mbLeft) Deplacement = true;
    }
    �quivaut � :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private: System::Void vig_MouseDown(System::Object *Sender, System::Windows::Forms::MouseEventArgs * e)
    {
    	ypos = e->Y;
    	xpos = e->X;
    	if(e->Button == MouseButtons::Left)
    	{
    		deplacement=true;
    	}
    }
    Merci pour celui qui trouve une conversion de ces codes

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    oui, c'est �quivalent

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    et pour ce qui est du :
    Left += X-XPos;
    Top += Y-YPos;

    :

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Citation Envoy� par Dlyan
    et pour ce qui est du :
    Left += X-XPos;
    Top += Y-YPos;

    :
    il faut utiliser la propri�t� Location de ton controle

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    Pourrais-tu �tre plus pr�cis pour le X,Y et Left Top.
    Dans mon cas c'est de d�placer un panel dison qu'il s'appelle panel1

    voile ce que j'ai fait depuis :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private: System::Void vig_MouseDown(System::Object *Sender, System::Windows::Forms::MouseEventArgs * e)
    {
    ypos = e->Y;
    xpos = e->X;
    if(e->Button == MouseButtons::Left)
    {
    deplacement=true;
    }
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    private: System::Void vig_MouseUp(System::Object *  sender, System::Windows::Forms::MouseEventArgs *  e)
    {
    deplacement=false;
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    private: System::Void vig_MouseMove(System::Object *  sender, System::Windows::Forms::MouseEventArgs *  e)
     {
     if(deplacement==true)
    {
    Left += e->Y-xpos;
    Top += e->X-ypos;
    }
    }
    je sais pas si c'est �quivalent au tuto tout ce que je sais c'est que �a d�place pas mon panel mais toute ma fenetre principale � une position bizarre

  6. #6
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    left devient Location.X
    top devient Location.Y

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    Je vien de remplacer le left et le top mais rien ne se passe lors que j'essaye de d�placer mon panel avec le bouton gauche �a doit venir de ce code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    ypos = e->Y;
    xpos = e->X;
    ou bien celui l� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Location.X += e->Y-xpos;
    Location.Y += e->X-ypos;
    et pourquoi ce "+=" ?

    Je vois pas aussi � quoi correspond le int X et int Y dans le param�tre de son constructeur ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    (TObject *Sender, TShiftState Shift,int X, int Y)

  8. #8
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Citation Envoy� par Dlyan
    Je vois pas aussi � quoi correspond le int X et int Y dans le param�tre de son constructeur ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    (TObject *Sender, TShiftState Shift,int X, int Y)
    ce n'est pas le constructeur, mais les param�tres de la fonction

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    bah voil� ce que �a donne :

    http://www.megaupload.com/fr/?d=CWDFVBPS

    (le lien pour t�l�charger est un peu en haut � droite cacher par la pop-up"Mageupload Link")

  10. #10
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    D�sol�, le firewall de ma boite m'empeche d'aller sur ce lien.

    De toutes facons, je n'ai pas regard� l'article de CHGI, mais le principe est surement bon, donc c'est que ca vient de ta traduction

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    Moi aussi je pense que le principe est bon donc si tu as du nouveau sur la conversion pr�viens moi SVP

  12. #12
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    ben, je vais pas regarder plus que ca, mais ca va ressembler � ca :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    	 bool deplacement;
    			 int XPos, YPos;
    ...
    	private: System::Void vig_down(System::Object *  sender, System::Windows::Forms::MouseEventArgs *  e)
    			 {
    				XPos = e->X;
    				YPos = e->Y;
    				 if(e->Button == MouseButtons::Left)
    				 {
                         deplacement=true;
    				 }
     			 }
    	private: System::Void vig_Up(System::Object *  sender, System::Windows::Forms::MouseEventArgs *  e)
    			 {
                       deplacement=false;
     			 }
    	private: System::Void vig_Move(System::Object *  sender, System::Windows::Forms::MouseEventArgs *  e)
    			 {
    				 if (deplacement)
    				 {
    					 vig->Top = e->Y - YPos;
    					 vig->Left = e->X - XPos;
    				 }
     			 }

  13. #13
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    J'ai dej� essayer �a avant mais on obtient un d�placement �trange
    si vera si tu arrive � t�l�charger mon appli

  14. #14
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    Comment utilise t-on sa deuxi�me m�thode en C++.net ?

    c-�-d

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
       ReleaseCapture();
       SendMessage(Handle, WM_SYSCOMMAND, 0xF012, 0);
    }

  15. #15
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    essaye de t�l�charger l'appli que je t'ai donn� plus haut tu vera � quoi ressemble le d�placement

    PS: Essaye de voir SVP

  16. #16
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    je ne peux pas t�l�charger, mon firewall me l'en empeche (c'est un site proscrit par ma boite)

    Sinon, cela se traduit par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    				ReleaseCapture();
    				HWND Handle = static_cast<HWND>(static_cast<void *>(vig->Handle));
    				SendMessage(Handle, WM_SYSCOMMAND, 0xF012, 0);
    Cela fonctionne, je viens d'essayer

  17. #17
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    �a serait trp long de te copier toute les erreurs que j'obtient, tout �a pour te dire que �a marche pas chez moi.

    Avec ce que tu as fait arrive tu � d�placer un composant avec le bouton gauche de la souris enfonc�e ?

  18. #18
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    oui

  19. #19
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    serait-il possible d'avoir ton appli ou �a fonctionne ?

  20. #20
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. D�placer un panel avec la souris
    Par zyanya dans le forum Flex
    R�ponses: 4
    Dernier message: 15/04/2011, 09h38
  2. [C#] D�placer un composant avec la souris
    Par G�niuS77 dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 07/04/2011, 23h12
  3. D�placer un panel avec la souris
    Par Harry dans le forum Delphi
    R�ponses: 14
    Dernier message: 05/06/2006, 19h18
  4. D�placer une TImage avec la souris
    Par Ingelishome dans le forum C++Builder
    R�ponses: 2
    Dernier message: 18/03/2005, 14h16

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