Caption d'une Application

Résolu
cs_tulesais Messages postés 177 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 avril 2013 - 22 juil. 2005 à 16:11
cs_tulesais Messages postés 177 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 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.

Cela est il possible ?

Merci d'avance pour vos réponses,

5 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
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
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
22 juil. 2005 à 16:42
Par caption d'une application, tu veux dire la barre de titre ?



Je ne vois pas d'autres moyens que de mettre le nombre d'espaces qu'il
faut entre le titre de l'appli et le nom de l'utilisateur...

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
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/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_tulesais Messages postés 177 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 avril 2013 2
26 juil. 2005 à 08:46
Merci beaucoup pour votre aide !!!

ca marche impec :-)

comme quoi...TOUT EST POSSIBLE :-)

A très bientôt...
0