cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
22 juil. 2005 à 16:11
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
26 juil. 2005 à 08:46
Bonjour,
je souhaiterai renseigner un Caption d'une Application de la manière suivante :
_________________________________
| Titre de l'appli Nom utilisateur|
|________________________________|
je n'arrive pas à cadrer un <titre à gauche> et cadrer un <nom utilisateur> à droite.
sachant que le titre est de longueur fixe par contre le nom de l'utilisateur est de longueur variable.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 22 juil. 2005 à 19:00
Salut
Il faut rechercher quelle sera la taille de ton texte et gérer le nombre d'espaces à ajouter.
Comme la police du texte est à pas variable (un M prend plus de place qu'un I), je te propose gérer comme ça (ça m'a amusé comme idée) :
Créé une Sub qui va s'occuper de calculer ça. Elle doit se trouver dans la forme :
Private Sub AligneTitre(txtGauche As String, _
txtDroit As String)
Dim Espaces As Long, Largeur As Long
Largeur = Me.ScaleWidth - 1500
' le 1500 est à affiné car ça dépend de ton icone
' et des boutons à droite de la forme
Do While Me.TextWidth(txtGauche & Space(Espaces) & txtDroit) < Largeur
Espaces = Espaces + 1 ' ajoute un espace
DoEvents
Loop
Debug.Print Espaces
Espaces = Espaces - 1 ' enlève le dernier qui fait déborder
Me.Caption = txtGauche & Space(Espaces) & txtDroit
End Sub
et lance cet affichage quand tu en a besoin avec :
Call AligneTitre("Coucou", "mon gars")
- quand les textes changent
- quand la forme change de taille (Form_Resize)
Nota : je n'ai pas géré les erreurs
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 22 juil. 2005 à 19:06
Correctif :
Une Caption ne peut pas avoir plus de 255 caractères (voir l'aide)
Donc, il faut limiter la valeur maxi de Espaces à la valeur 255 - Len(txtGauche & txtDroit)
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 22 juil. 2005 à 19:30
Attention Jack, s'il veut faire cà pour la barre de titre, ca ne
marchera pas à tout les coups : tout dépends de la police utilisé pour
afficher le titre de la fenêtre : il peut être différent de la police
utilisée pour afficher du texte sur une fenêtre !
Il faudras donc utiliser soit un DC temporaire (picturebox par exemple)
en y appliquant la police de la barre de titre (par contre, je ne sais
pas comment on peut récupèrer cette police !).
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
Vous n’avez pas trouvé la réponse que vous recherchez ?