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

Windows Discussion :

Deplacer un curseur dans un RichEdit sous visual c


Sujet :

Windows

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Deplacer un curseur dans un RichEdit sous visual c
    Salut,
    j'aimerai savoir ou connaitre une fonction (en C Window API WIN32) s'il en existe? qui pourrai me déplacer le cuseur où je le desire moi,(en début de fenêtre)
    en effet dans mon application j'utulise un RichEdit,
    j'ai pu localiser l'emplacement du curseur sur la page mais j'aimerai a l'aide d'une fonction pouvoir la deplacer sur cette meme page

    par exemple si le cuseur se trouve en milieu de page j'aimerai la replacer en debut un peu comme ci on simulais un ctrl+home


    voila en attend d'une aide de votre part a+
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Tu peux déplacer le curseur en utilisant le message :
    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
    The EM_EXSETSEL message selects a range of characters and/or COM objects in a rich edit control.
    
    To send this message, call the SendMessage function with the following parameters. 
    
    SendMessage( 
      (HWND) hWnd,              // handle to destination window 
      EM_EXSETSEL,              // message to send
      (WPARAM) wParam,          // not used; must be zero
      (LPARAM) lParam           // selection range (CHARRANGE *)
    );
    Parameters
    wParam 
    This parameter is not used; it must be zero. 
    lParam 
    Pointer to a CHARRANGE structure that specifies the selection range. 
    Return Values
    The return value is the selection that is actually set.
    avec une structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If the cpMin and cpMax members are equal, the range is empty. The range includes everything if cpMin is 0 and cpMax is –1.
    
    typedef struct _charrange { 
        LONG cpMin; 
        LONG cpMax; 
    } CHARRANGE; 
    Members
    cpMin 
    Character position index immediately preceding the first character in the range. 
    cpMax 
    Character position immediately following the last character in the range.
    ou cpMin = cpMax;
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut merci pour ta réponse
    mais le probleme est que j'ai deja tester cette fonction "EM_EXSETSEL" mais le probleme est que cette fonction me permet de me placer au debut d'un mot et moi je desire me placer au tout debut de la fenêtre a la premiere ligne premiere cologne je suposse qu'il faut ajouter un calcule simple a lParam
    mais cpMin me permet d'avoir juste le debut du ou est placer le curseur
    ?

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Bizarre.
    Je viens de faire l'essai avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        CHARRANGE charr = {0, 0};
        SendMessage(RichEdit1->Handle, EM_EXSETSEL, 0l, (LPARAM)&charr);
    ça fonctionne nickel.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  5. #5
    Membre habitué
    Avatar de TangiX
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 139
    Points : 168
    Points
    168
    Par défaut
    Desole je post pa pour le sujet mais juste pour demander a Trap D ou il trouve ces infos sur les messages

    merci et encore desolé

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Sur MSDN.

    Tu as la possibilité de le consulter sur Internet.
    Ce que tu peux faire et qui fonctionne très bien c'est taper sur Google "EM_EXSETSEL" et tu tombes dessus.
    Bonne recherche
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Membre habitué
    Avatar de TangiX
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 139
    Points : 168
    Points
    168
    Par défaut
    merci 8)

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Reponse
    Merci Grave a vous g resolu mon, probleme en fait il suffit d'initialiser les champs cpMin et cpMax a 0 (de la structure FINDTEXT) avant d'exectuer la fonction que vous m'avez conseiller
    Merci

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

Discussions similaires

  1. deplacer le curseur dans un Tkinter.Text
    Par pfeuh dans le forum Tkinter
    Réponses: 2
    Dernier message: 18/03/2009, 14h12
  2. Assembleur dans du c++ sous visual
    Par Rastacouéne dans le forum Visual C++
    Réponses: 6
    Dernier message: 19/04/2007, 14h07
  3. Réponses: 2
    Dernier message: 09/01/2007, 21h39
  4. Deplacer le curseur dans une cellule de DBGrid
    Par Sydaze dans le forum Composants VCL
    Réponses: 6
    Dernier message: 07/11/2005, 16h19
  5. Réponses: 6
    Dernier message: 06/05/2004, 09h05

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