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 :

Positionner le texte a droite dans un TEdit


Sujet :

C++Builder

  1. #1
    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
    Points : 3 766
    Points
    3 766
    Par défaut Positionner le texte a droite dans un TEdit
    Bonsoir
    J'aimerais pouvoir positionner le texte entre dans un TEdit a droite, celui ci est un composant deja pose sur la Form, je ne veut pas creer un composant voir le lien de CGI, j'ai parcouru le Forum, mais les differents post n'utilise pas ma facon de faire, je ne sais d'ailleurs pas si c'est possible de cette facon
    Je pensais pouvoir deriver de cette facon mais ca ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TCreateParams *pCp = new TCreateParams();
    pCp->ExStyle = pCp->ExStyle | ES_CENTER | ES_MULTILINE;
    pCp->WndParent = Edit1;
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  2. #2
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    Par défaut
    Salut, il faut lui envoyer un ES_RIGHT

    Voir la page suivante: http://bcbjournal.org/bcbcaq/?caq=28
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  3. #3
    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
    Points : 3 766
    Points
    3 766
    Par défaut
    Merci Crayon
    C'est une erreur de recopie qui m'a echappee c'est bien " ES_RIGHT " qui est recherche, le lien que tu donne c'est pour creer un composant TEdit modifie, ce que je voudrais c'est modifier un TEdit deja pose sur la Form par exemple " Edit1 ", dans le code poste il n'y a pas d'erreur mais rien ne se passe
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  4. #4
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    Par défaut
    Ok, essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DWORD ExStyleRight;
    ExStyleRight = GetWindowLong(Edit1->Handle, GWL_STYLE) | ES_RIGHT;
    SetWindowLong(Edit1->Handle, GWL_STYLE, ExStyleRight);
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  5. #5
    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
    Points : 3 766
    Points
    3 766
    Par défaut
    Tres interressant ton lien je testez justement le meme code trouve la page precedente de ton lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        // get the current style flags 
        LONG const dwStyle = GetWindowLong(Form1->Edit1->Handle, GWL_EXSTYLE | ES_RIGHT);
        // add ES_NUMBER to these
        SetWindowLong(Form1->Edit1->Handle, GWL_EXSTYLE, dwStyle);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        // get the current style flags 
        LONG const dwStyle = GetWindowLong(Form1->Edit1->Handle, GWL_STYLE  | ES_RIGHT);
        // add ES_NUMBER to these
        SetWindowLong(Form1->Edit1->Handle, GWL_STYLE, dwStyle);
    il ne se passe rien
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  6. #6
    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
    Points : 3 766
    Points
    3 766
    Par défaut
    Si je remplace " ES_CENTER " par " ES_NUMBER " la ca fonctionne
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  7. #7
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    Par défaut
    Est-ce que tu as essayer de mettre un "break point" et de regarder le contenue de dwStyle pour voir si sa fait sens?
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  8. #8
    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
    Points : 3 766
    Points
    3 766
    Par défaut
    " dwStyle " prend pour valeur 0
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  9. #9
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    Par défaut
    Je ne sais pas quel OS tu utilises, mais je met cette référence juste au cas...
    ES_RIGHT
    Windows 98/Me, Windows 2000/XP: Right-aligns text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control.
    http://msdn2.microsoft.com/en-us/lib...64(VS.85).aspx

    Sinon pour les style on a:
    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
    /*
     * Edit Control Styles
     */
    #define ES_LEFT             0x0000L
    #define ES_CENTER           0x0001L
    #define ES_RIGHT            0x0002L
    #define ES_MULTILINE        0x0004L
    #define ES_UPPERCASE        0x0008L
    #define ES_LOWERCASE        0x0010L
    #define ES_PASSWORD         0x0020L
    #define ES_AUTOVSCROLL      0x0040L
    #define ES_AUTOHSCROLL      0x0080L
    #define ES_NOHIDESEL        0x0100L
    #define ES_OEMCONVERT       0x0400L
    #define ES_READONLY         0x0800L
    #define ES_WANTRETURN       0x1000L
    #define ES_NUMBER           0x2000L
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  10. #10
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    Par défaut
    Il est a noté que sur le site web de Microsoft il est mentionné a plusieurs endroits:
    To change this style after the control has been created, use SetWindowLong.
    Mais pour ES_RIGHT, ce n'est pas dit que l'on peut le changer après la création.
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  11. #11
    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
    Points : 3 766
    Points
    3 766
    Par défaut
    Merci pour tes renseignements Crayon
    Je suis enfin parvenu a ecrire a droite dans ce fichu TEdit, grace a la Faq de nos amis Delfinaute
    voici l'astuce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    SysLocale.MiddleEast = True;
    Form1->Edit1->BiDiMode = bdRightToLeft;
    }
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  12. #12
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Si tu as installé la librairie JEDI, je crois que le composant "TJvEdit" a une propriété pour choisir l'alignement.

  13. #13
    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
    Points : 3 766
    Points
    3 766
    Par défaut
    Le but etait ne ne pas avoir recour a un composant exterieur ou a un composant cree dynamiquement, mais de deriver un composant faisant parti de la palette BCB
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

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

Discussions similaires

  1. selection de texte + click droit dans IE
    Par valeri_dzia dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/07/2012, 19h49
  2. Text au milieu dans un TEdit
    Par aliwassem dans le forum Delphi
    Réponses: 6
    Dernier message: 21/04/2007, 22h01
  3. Affichage texte justifié à droite dans label
    Par dupont166 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/09/2006, 07h40
  4. [D7] Longueur du texte saisi dans un Tedit
    Par Thierry Laborde dans le forum Delphi
    Réponses: 6
    Dernier message: 11/07/2006, 19h08

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