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 :

Obtenir les coordonnées d'un curseur (RichEdit)


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Par défaut Obtenir les coordonnées d'un curseur (RichEdit)
    Bonjour,

    J'ai un petit problème, j'aimerais connaître la position du curseur dans un
    RichEdit.

    Actuellement je développe une application, et je voudrais faire une petite fenetre qui s'ouvre lorsque l'on presse ctrl+space ( un peu comme dans Bcb et pas mal d'autre IDE).

    Le seul souci c'est qu'il faudrait que je connaisse la position du curseur afin de positionner la fenetre juste à côter de celui-ci.


    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut Galip:
    Une possibilite:
    Un TRichEdit deux TLabel double click dans l'evenement OnMouseMove du TRichEdit le code a inserer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TForm1::RichEdit1MouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y)
    {
    Label1->Caption = X;
    Label2->Caption = Y;
    }
    Ca peut se faire sur un autre evenement Mouse

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Par défaut
    Merci de ta réponse,

    Le seul souci c'est qu'avec l'événement OnMouseMove, j'ai la position de la souris et ce qu'il me faudrais c'est la position du curseur.

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Tu peux faire ceci dans le OnKeyUp ou encore OnKeyPress ... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void __fastcall TForm1::RichEdit1KeyUp(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {
      ShowMessage(IntToStr(RichEdit1->SelStart)); // Affiche la position du caret
    }
    J'espère avoir bien saisi le sens de ta question
    @+

    EDIT:

    Ce code est peut être plus dans ce que tu souhaites faire je pense :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void __fastcall TForm1::RichEdit1KeyUp(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {
      ShowMessage("X:"+IntToStr(RichEdit1->CaretPos.x)+", Y:"+IntToStr(RichEdit1->CaretPos.y));
    }

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Par défaut
    Merci beaucoup ton code marche nikel.

    C'est clair et efficace

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Citation Envoyé par Galip
    Merci beaucoup ton code marche nikel.

    C'est clair et efficace

    Merci !

    Par contre, j'arrive pas à positionner un bouton à l'endroit du Caret!
    Le soucis, c'est la conversion de données ...

    J'ai ce code mais en vain :

    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
    void __fastcall TForm1::Cliquer(TObject *Sender)
    {
      TButton *BoutonCliquer = (TButton*)Sender;
      BoutonCliquer->Visible=False;
    }
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     TPoint a= ClientToScreen(RichEdit1->CaretPos);
     TButton *MyButton = new TButton(this);
     MyButton->Parent=this;
     MyButton->Left = a.x + MyButton->Width /2;
     MyButton->Top = a.y + MyButton->Height;
     MyButton->OnClick=Cliquer;
    }
    //---------------------------------------------------------------------------
     
     
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
     TPoint a= ClientToScreen(RichEdit1->CaretPos);
    ShowMessage(IntToStr(a.x)+" "+IntToStr(a.y));
    }
    //---------------------------------------------------------------------------
    Si jamais tu as réussi, je suis prenant

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

Discussions similaires

  1. Obtenir les coordonné 2D de coordonné 3D
    Par LastSpear dans le forum OpenGL
    Réponses: 6
    Dernier message: 20/08/2009, 23h23
  2. [Java3D]Obtenir les coordonnés de la caméra
    Par surfeurman5 dans le forum 3D
    Réponses: 3
    Dernier message: 31/03/2008, 15h35
  3. Obtenir les coordonnées d'un element
    Par joKED dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/05/2007, 12h30
  4. Obtenir les coordonnées d'un tableau
    Par Etanne dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/12/2005, 09h14
  5. Obtenir les coordonnées réelles
    Par chep dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/04/2005, 12h05

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