Caption d'une Application

Résolu
Signaler
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
-
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
130
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/
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
130
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/
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
1
Merci beaucoup pour votre aide !!!

ca marche impec :-)

comme quoi...TOUT EST POSSIBLE :-)

A très bientôt...