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

Delphi Discussion :

[D7] Longueur du texte saisi dans un Tedit


Sujet :

Delphi

  1. #1
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut [D7] Longueur du texte saisi dans un Tedit
    Bonjour à tous,

    J'aimerais savoir comment trouver la longueur du texte que l'on a saisi dans un edit (La longueur en pixel bien sur et pas en nombre de lettre).
    En fait je souhaite savoir si le texte que j'ai saisi dans mon Edit est plus grand que mon Edit.
    J'ai cherché mais rien trouvé concernant ça.
    Quelqu'un à une idée ?

    Merci d'avance.

  2. #2
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    ceci semble fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      aCanvas : TCanvas;
    begin
      aCanvas := TCanvas.Create;
      aCanvas.Handle := CreateDC('DISPLAY', nil, nil, nil);
      aCanvas.Font.Assign(Edit1.Font);
      Caption := IntToStr(aCanvas.TextWidth(Edit1.Text));
      DeleteDC(aCanvas.Handle);
      aCanvas.Free;
    end;

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut,

    Est-ce que ceci répondrait à la question ?
    http://delphi.developpez.com/faq/?pa...imensionstexte

    @+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Tu peux utiliser Canvas.TextWidth('mon texte')

  5. #5
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut
    Citation Envoyé par pirbd
    Tu peux utiliser Canvas.TextWidth('mon texte')

    Le problème c'est que Canvas n'est pas disponible pour le TEdit (protected). C'est pour ça que denokan créé une nouvelle instance de TCanvas, lui assigne la Fonte du TEdit et utilise sa méthode TextWidth.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par slimjoe
    Le problème c'est que Canvas n'est pas disponible pour le TEdit (protected). C'est pour ça que denokan créé une nouvelle instance de TCanvas, lui assigne la Fonte du TEdit et utilise sa méthode TextWidth.

    Effectivement, j'ai posté sans voir les reponses ...
    Je crois qu'on se dirige vers un post [resolu]

  7. #7
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Ca au moins c'est du post vite ouvert et super vite résolu . Merci à tous pour toutes vos réponses, Denokan me fourni la réponse parfaite.
    Merci encore.

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

Discussions similaires

  1. Vérifier le type d'un texte saisi dans un TEdit
    Par logiciel_const dans le forum Composants VCL
    Réponses: 3
    Dernier message: 26/04/2009, 15h13
  2. Réponses: 1
    Dernier message: 25/09/2008, 13h12
  3. le texte saisi dans text area
    Par Houssem dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/04/2007, 05h56
  4. [Débutant] Inhiber la saisie dans un TEdit
    Par netchip dans le forum Débuter
    Réponses: 3
    Dernier message: 26/04/2006, 14h14

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