Bonjour,
Je cherche à:
1) provoquer un changement de ligne dans un RichTextBox
2) aligner mon texte verticalement
(j'affiche des lignes de valeurs héxadécimales et j'ai des problèmes
d'alignement avec certains caractères.
Merci d'avance
Bonjour,
Je cherche à:
1) provoquer un changement de ligne dans un RichTextBox
2) aligner mon texte verticalement
(j'affiche des lignes de valeurs héxadécimales et j'ai des problèmes
d'alignement avec certains caractères.
Merci d'avance
Merci, tu as été plus rapide que moi, je venais de trouver la réponse à ma question.
Question Bonus :
Je souhaite formatter mon affichage dans ma TexBox pour que les caractères soient bien alignés verticalement.
J'ai tenté plusieurs polices (courrier New, etc. ) mais je n'ai pas l'impression que cela change grand chose à chaque fois.
Une solution ?
Et?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Text1.Multiline = True
Si tu cherches une police dont tous les caractères font la même largeur, il y a la police "Courier" par exemple
Ce n'est pas cela que je cherche à faire.
J'affiche des valeurs Hexadécimales sur 2 digits séparées par un espace.
Je souhaite que tous les caractères soient alignés verticalement comme dans un éditeur hexa standard.
Ben justement, c'est bien ce que j'avais compris et la police Courier permet celà mais bon, fais comme tu veux
Je l'ai définie dans les propriété de mon contrôle RichtextBox ainsi que dans une ListBox, mais apparement sans effet.
D'ailleurs quelle que soit la police sélectionnée l'affichage est toujours identique.
Faut-il absolument le spécifier dans le code ??
==> Cela marche mais à condition que je spécifie la police 'courrier' sur ma fenêtre. Sur le contrôle seul cela ne suffit pas.
Dans un RichTextBox, quand tu veux définir une police pour le texte, c'est toujours le texte sélectionné qui reçoit le nouvel attribut de police, ou encore à partir du point d'insertion (la position du cruseur, si tu tapes du texte par la suite). Il faut mieux définir cette propriété dans le Form_Load avant d'y mettre quelque donnée que ce soit.
Bonjour,
Avec les spécifications que tu donne il serrait plus intérressant d'employé un RichtText, L'appuit de ENTER met automatiquement un CR et il dispose de la fonction de tabulation pour aligné tes lignes.
A+
Donc si je comprends bien, je suis obligé d'adopter dans mon formulaire la même police que dans mon RichTextBox ?
Il existe une différence entre un RichText et un RichtextBox ? Ou trouve-ton ce contrôle ?
Je ne comprends vraiment pas ton problème, je viens de faire l'essai avec un controle richTextBox (l'autre RichText n'existe pas, probablement une erreur de frappe).
Je lui ai mis la police "Courier"
Tous mes caractères sont PARFAITEMENT alignés, je n'ai pas besion de modifier la police de la feuille.
Je pense que mon problème vient du fait que je fixe la police au moment de l'édition du code avec la fenêtre de propriétés.
Tu utilises la méthode SelFont ?
Un bout de code ?
Merci d'avance
Prorpiété font du controle en mode édition.
Voici ce que cela donne dans mon cas (image attachée).
Je cherche à faire un affichage de mot binaires en hexa. Le problème apparait quand l'affichage comporte des lettres. Si je n'affiche que des valeurs numériques elles sont bien allignées.
Voici un exemple de mon code :
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 Do While Not EOF(1) Get #1, IndiceFile, Octet 'Conversion HEXA de la valeur Binaire ValHexa = DecimalToBase(Octet, 16) 'Utilisation du ListBox ChaineHexa = ChaineHexa & LCase(ValHexa) & "." If Len(ChaineHexa) = 48 Then RTxtBoxHexa.Text = RTxtBoxHexa.Text & ChaineHexa & vbCrLf ChaineHexa = "" End If IndiceFile = IndiceFile + 1 Loop 'fermeture du fichier Close #1
On peut en discuter 107 ans si tu veux mais à priori ce n'est pas la police Courier que tu utilises, essayes sur Word ou le Bloc Note avec la police Courier que tu as sur ta machine et regardes si c'est bien une police dont tous les caractères font la même largeur.
Si oui, c'est que la police de ton controle n'est pas la bonne.
Justement je ne veux pas en discuter 107.
Je ne pensai pas perdre autant de temps sur ce genre de c.....ie .
Dans les propriétés de mon contrôle j'ai beau mettre n'importe quelle police, cela ne change rien.
Je commence à avoir une piste. J'ai crée cette application SDI à l'aide de l'assistant VB et je vois que dans le module module1.bas qu'il crée automatiquement j'ai le code suivant :
Qui me force les polices de tous mes contrôles.
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 Sub LoadResStrings(frm As Form) On Error Resume Next Dim ctl As Control Dim obj As Object Dim fnt As Object Dim sCtlType As String Dim nVal As Integer 'Définit la légende de la feuille frm.Caption = LoadResString(CInt(frm.Tag)) 'Définit la police Set fnt = frm.Font fnt.Name = LoadResString(20) fnt.Size = CInt(LoadResString(21)) 'Définit les légendes des contrôles en utilisant la 'propriété caption pour les éléments de menu et la propriété Tag 'pour tous les autres contrôles For Each ctl In frm.Controls Set ctl.Font = fnt sCtlType = TypeName(ctl) If sCtlType = "Label" Then ctl.Caption = LoadResString(CInt(ctl.Tag)) ElseIf sCtlType = "Menu" Then ctl.Caption = LoadResString(CInt(ctl.Caption)) ElseIf sCtlType = "TabStrip" Then For Each obj In ctl.Tabs obj.Caption = LoadResString(CInt(obj.Tag)) obj.ToolTipText = LoadResString(CInt(obj.ToolTipText)) Next ElseIf sCtlType = "Toolbar" Then For Each obj In ctl.Buttons obj.ToolTipText = LoadResString(CInt(obj.ToolTipText)) Next ElseIf sCtlType = "ListView" Then For Each obj In ctl.ColumnHeaders obj.Text = LoadResString(CInt(obj.Tag)) Next Else nVal = 0 nVal = Val(ctl.Tag) If nVal > 0 Then ctl.Caption = LoadResString(nVal) nVal = 0 nVal = Val(ctl.ToolTipText) If nVal > 0 Then ctl.ToolTipText = LoadResString(nVal) End If Next End Sub
TERMINE, je n'utilise plus jamais les assistants VB..
C'est la deuxième fois que cela me fait le coup ...
Tu utilises quoi pour afficher, un richTextBox ? Si c'est le cas, alors, je répète :
Tu dois sélectionner tout le texte pour pouvoir lui attribuer une police. Le contrôle RichTextBox ne se comporte pas comme un éditeur de texte mais comme un traitement de texte. Tout nouvel attribut de police est appliqué à partir de la position du curseur ou pour le texte sélectionné.
Tu peux aussi définir la police par défaut en mode Design avant que du texte ne soit placé dedans.
Zaza, tu serais pas dans la cavalerie ?
Je crois que c'est résolu, cela venait de l'assistant qui changeait la police de caractère à l'insu du plein gré de lio33
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