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 :

taille d'un edit


Sujet :

Delphi

  1. #1
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut taille d'un edit
    bonjour tout le monde ,

    j'aimerais savoir comment faire pour que la taille de mes edits soit fixe à la création de la forme mais dés qu'ils se remplissent elles devient proportionnelle au contenu est ce possible
    merci

  2. #2
    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 : 37
    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
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut ,

    Je te propose de mettre ce code dans le OnChange du TEdit en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit1.Width := Canvas.TextWidth(Edit1.Text)+12;
    Evidemment, par la suite, ça dépend de la police, de la taille, il faudra peut-être ajuster
    En passant, je te donne une info qui je pense te sera utile ...
    Si tu veux que tes TEdits aient une longueur minimale à ne pas dépasser, tu peux mettre cette valeur dans la propriété Constraints->MinWidth

    En espérant t'avoir aidé,
    A+

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour.

    En positionnant la propriété AutoSize du TEdit à True, est-ce que ça ne règle pas votre problème ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  4. #4
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Points : 204
    Points
    204
    Par défaut
    Bonjour;
    voilà c'est pas optimale mais ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var v:string;
    n:integer;
    begin
    v:='sssssssssssssssssssssssssssssssssssssssssssss';
    n:=length(v);
    Edit1.Width:=length(v)*6;
    edit1.Text:=v;
    end;
    en fait sa dépend de la taille de police dans votre edit.
    bon courrage.

  5. #5
    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 : 37
    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
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut Aka,

    Citation Envoyé par Aka Guymelef Voir le message
    Bonjour.

    En positionnant la propriété AutoSize du TEdit à True, est-ce que ça ne règle pas votre problème ?
    D'après l'aide, AutoSize n'ajuste que la hauteur du contrôle de saisie ...

    Citation Envoyé par sam83 Voir le message
    Bonjour;
    voilà c'est pas optimale mais ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var v:string;
    n:integer;
    begin
    v:='sssssssssssssssssssssssssssssssssssssssssssss';
    n:=length(v);
    Edit1.Width:=length(v)*6;
    edit1.Text:=v;
    end;
    en fait sa dépend de la taille de police dans votre edit.
    bon courrage.
    Je dirai qu'il vaut mieux faire un TextWidth de la chaîne que de devoir mettre en dur une chaine dans le code ...
    De plus, si tu regardes bien, lorsque tu ne mets aucun texte dans ton TEdit à une taille qui n'est pas égal à son contenu....

    Je chipote mais bon, c'est une petite remarque (et non une critique)

  6. #6
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    rebonjour tout le monde ,

    merci a tous pour vos réponses j'ai testé la solution d'ero ca marche bien

    encore merci

  7. #7
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    en fin de compte ca marche pas il ne prend pas la taille exacte du contenu

    moi ce que je veux cest laisser des tailles fixes au départ et d'aprés le contenu les edits auront la taille du contenu

    merci

  8. #8
    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 : 37
    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
    Points : 4 935
    Points
    4 935
    Par défaut
    Re,

    Citation Envoyé par lila23 Voir le message
    en fin de compte ca marche pas il ne prend pas la taille exacte du contenu

    moi ce que je veux cest laisser des tailles fixes au départ et d'aprés le contenu les edits auront la taille du contenu

    merci
    Je ne vois pas trop ce qui pose soucis ? Tu as bien mis dans la propriété Constraints->MinWidth la taille minimale que dois avoir un TEdit ?
    Par exemple, lors de la conception, ton TEdit à une taille fixe qui vaut 100 par exemple (propriété Width du TEdit).
    Si tu ne veux pas que ton TEdit ait une taille inférieur à 100 lorsque tu le renseignes, tu mets 100 dans la propriété Constraints->MinWidth du TEdit...

    En fait je dis ça, mais tout dépend ce que tu souhaites faire ... Je suis parti du principe que tu voulais agrandir la zone du TEdit qu'à partir d'une certaine longueur de texte ...
    Peut-être ai-je mal compris ?

  9. #9
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    en fait ce que je veux cest:
    alors dans me forme j'ai déposé plusieurs edits qui ont une taille par dans linspecteur d'objet mai kan je le ai déposé ce que je veu cest que d'aprés le contenu aprés une recherche ou kan je les rempli la taille du cimposan edit sagrandi si jen ai besoin ou quil devienne proportionnel au contenu

    merci

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 266
    Points
    3 266
    Par défaut
    Bonjour,

    Au lieu de :
    Code :
    Edit1.Width := Canvas.TextWidth(Edit1.Text)+12;
    essayer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Edit1.Width := Edit1.Canvas.TextWidth(Edit1.Text)+12;
    pour le cas où la police de Edit1 serait différente de celle de la Form.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  11. #11
    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 : 37
    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
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut Gilbert ,

    Citation Envoyé par Gilbert Geyer Voir le message
    Bonjour,

    Au lieu de :


    essayer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Edit1.Width := Edit1.Canvas.TextWidth(Edit1.Text)+12;
    pour le cas où la police de Edit1 serait différente de celle de la Form.

    A+
    J'y avais pensé, mais comme je suis au boulot et que je travaille sous C++ Builder 6, hé bien je n'ai pas accès au Canvas de l'Edit de cette façon ...
    Tu es sûr que l'on peut avoir accès au Canvas du TEdit de cette façon ?

  12. #12
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    il n'accepte pas ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Edit19.Width:=edit19.Canvas.TextWidth(Edit19.Text)+ 10
    il me dit indefine identifier edit19!!!!

    est ce que je peu posé une autre question qui vraiment va ma rendre folle

    merci

  13. #13
    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 : 37
    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
    Points : 4 935
    Points
    4 935
    Par défaut
    Pour ce qui est de TEdit19.Canvas.TextWidth, c'est "normal" que ça ne fonctionne pas ....

    Mais quel est ton réel but lila ?
    Montre nous ton code et aiguille nous un peu plus pour dire de parvenir à la solution... car là, je ne vois pas trop le soucis

  14. #14
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 266
    Points
    3 266
    Par défaut
    Re-bonjour,

    Salut Ero-sennin

    Tu es sûr que l'on peut avoir accès au Canvas du TEdit de cette façon ?
    ... Ben non dans la précipitation j'ai confondu avec le TLabel.

    Mais il peut ajouter un TLabel invisible et faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Edit19.Width:=Label1.Canvas.TextWidth(Edit19.Text)+ 10
    ... en prenant soin de donner à label1 la même police que celle de Edit19 et de mettre l'Autosize du Label1 à true.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  15. #15
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut


    Gilbert Geyer,

    j'ai essayer ton code par curiosité et sans rien modifier sa marche aussi

    et franchement je ne connaissez pas cette méthode qui peut être utile
    "Quelle prétention de prétendre que l'informatique est récente: Adam et Eve avaient déjà un Apple!"

  16. #16
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 266
    Points
    3 266
    Par défaut
    Re-salut,

    C'est juste une petite ruse de Sioux.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  17. #17
    Invité1
    Invité(e)
    Par défaut
    bonjour

    essaies avec ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.Edit1Change(sender:Tobject);
    begin
    edit1.Width:=length(edit1.text)*9;
    end;
    il faut savoir que width est exprimée en pixel alors que length nous donne le nombre de caractères

    c'est pour cela que j'ai multiplié par 9

    dans ton cas ça dépend de la taille de la police utilisée

    bonne chance

  18. #18
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    bonjour tout le monde,

    tout d'abord je vous remercie de vos réponses , moi j'aimerais que d'aprés le contenu quil peut y avoir dans mon edit celui ci est la taille du contenu par exemple si j'ai dans adresse un contenu de 20caractéres mon edit aura la taille pour 20 si j'ai 40 caractéres le edit s'agrandi et aura la taille pour 40 tout ca car j'ai remarqué que dans ma fiche j'ai déposé mes edits avec une certaine taille et par exemple aprés une rechecrhe certain champ sont d'une taille assez grande alors on ne voi pa l'enregistremen en entier car le dit ne s'adapte pa a la taille du contenu!!!!!!

    encore merci

  19. #19
    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 : 37
    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
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut ,

    Il va vraiment nous falloir du code car la méthode que j'expose depuis le début est valable ...
    Si tu fais ta recherche, et que tu sais dans quel edit ça va atterrir, alors tu sais le redimensionner ... par exemple lors d'un OnClick sur un bouton, ça donnerai ceci :


    Montre nous comment tu fais ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Edit1.Text := 'J''adore me promener sur le site de Developpez.com !';
    Edit1.Width = Canvas.TextWidth(Edit1.Text)+12;
    Je ne peux être plus clair, désolé

  20. #20
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    et comment faire pour que si le edit ne recoit rien il garde la taille que je lui ai donné initialement dans ma fiche!!!!

    merci

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

Discussions similaires

  1. [JXTable] Taille de l'edition dans une cellule ?
    Par rednik dans le forum Composants
    Réponses: 1
    Dernier message: 20/08/2008, 15h50
  2. Taille des zone edit et taille de la police.
    Par youcef81 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 11/12/2006, 07h52
  3. Réponses: 11
    Dernier message: 23/11/2006, 15h32
  4. Récupérer la taille d'un tableau (edit : et d'une iframe)
    Par Prue dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/08/2005, 15h54
  5. [JFrame] taille de la zone editable
    Par miel_pops dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 30/06/2004, 13h00

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