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
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
Salut ,
Je te propose de mettre ce code dans le OnChange du TEdit en question :
Evidemment, par la suite, ça dépend de la police, de la taille, il faudra peut-être ajuster
Code : Sélectionner tout - Visualiser dans une fenêtre à part Edit1.Width := Canvas.TextWidth(Edit1.Text)+12;
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+
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 -
Bonjour;
voilà c'est pas optimale mais ça marche
en fait sa dépend de la taille de police dans votre edit.
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;
bon courrage.
Salut Aka,
D'après l'aide, AutoSize n'ajuste que la hauteur du contrôle de saisie ...
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)
rebonjour tout le monde ,
merci a tous pour vos réponses j'ai testé la solution d'ero ca marche bien
encore merci
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
Re,
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 ?
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
Bonjour,
Au lieu de :
essayer avec :Code :
Edit1.Width := Canvas.TextWidth(Edit1.Text)+12;pour le cas où la police de Edit1 serait différente de celle de la Form.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Edit1.Width := Edit1.Canvas.TextWidth(Edit1.Text)+12;
A+
N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
il n'accepte pas ca :
il me dit indefine identifier edit19!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Edit19.Width:=edit19.Canvas.TextWidth(Edit19.Text)+ 10
est ce que je peu posé une autre question qui vraiment va ma rendre folle
merci
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
Re-bonjour,
Salut Ero-sennin
... Ben non dans la précipitation j'ai confondu avec le TLabel.Tu es sûr que l'on peut avoir accès au Canvas du TEdit de cette façon ?
Mais il peut ajouter un TLabel invisible et faire :... en prenant soin de donner à label1 la même police que celle de Edit19 et de mettre l'Autosize du Label1 à true.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Edit19.Width:=Label1.Canvas.TextWidth(Edit19.Text)+ 10
A+
N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
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!"
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
bonjour
essaies avec ça
il faut savoir que width est exprimée en pixel alors que length nous donne le nombre de caractères
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;
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
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
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 ...
Je ne peux être plus clair, désolé
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;
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager