OVH Cloud OVH Cloud

Centrer le titre d'un formulaire

2 réponses
Avatar
Gaston Pouliot
J'ai cr=E9er un formulaire li=E9 =E0 des donn=E9es d'un classeur=20
excel.Excel ne m'offre que 2 possibilit=E9s de position pour=20
le titre, soit =E0 gauche ou =E0 droite . Moi J'aimerais que=20
mon titre soit centr=E9. Existe-il un module de classe d=E9j=E0=20
programm=E9 =E0 cet effet. De plus j'aimerais que mon lettrage=20
soit plus gros. J'emploie d=E9j=E0 le module de classe=20
CFormChanger de Stephen Bullen pour le minimiser et le=20
restaurer mais celui-ci ne comprend pas le centrage du=20
titre. C'est un sujet un peu pointu. Aussi une r=E9ponse de=20
votre part me surprendrais mais qui ne demande rien n'a=20
rien.
Merci =E0 l'avance.

2 réponses

Avatar
Alain CROS
Bonjour.

En ajoutant un nombre d'espaces approprié au début du
titre, ça devrait le faire.
Par contre, la possibilité offerte par excel de
positionner le titre a droite m'intéresse!
Si tu pouvais expliciter?

Alain CROS

-----Message d'origine-----
J'ai créer un formulaire lié à des données d'un classeur
excel.Excel ne m'offre que 2 possibilités de position
pour

le titre, soit à gauche ou à droite . Moi J'aimerais que
mon titre soit centré. Existe-il un module de classe déjà
programmé à cet effet. De plus j'aimerais que mon
lettrage

soit plus gros. J'emploie déjà le module de classe
CFormChanger de Stephen Bullen pour le minimiser et le
restaurer mais celui-ci ne comprend pas le centrage du
titre. C'est un sujet un peu pointu. Aussi une réponse de
votre part me surprendrais mais qui ne demande rien n'a
rien.
Merci à l'avance.
.



Avatar
Michel Pierron
Bonjour Gaston;
Une possibilité pour centrer le titre:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _
"GetTextExtentPoint32A" (ByVal hdc As Long, ByVal lpsz As String _
, ByVal cbString As Long, lpSize As POINTAPI) As Long
Private Declare Function GetWindowRect Lib "user32" _
(ByVal hwnd As Long, lpRect As RECT) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Sub UserForm_Initialize()
Dim hwnd&, hdc&, TextSize As POINTAPI, Cx&, R As RECT
hwnd = FindWindow(vbNullString, Me.Caption)
hdc = GetDC(hwnd): GetWindowRect hwnd, R
GetTextExtentPoint32 hdc, Me.Caption, Len(Me.Caption), TextSize
Cx = (R.Right + R.Left + TextSize.X) / 2
Do While TextSize.X < Cx
Me.Caption = " " & Me.Caption
GetTextExtentPoint32 hdc, Me.Caption, Len(Me.Caption), TextSize
Loop
End Sub

Peut être que si tu nous dis comment tu fais pour aligner le titre à droite, on
pourra en déduire comment le centrer.
Quant à changer la police du titre, c'est une autre paire de manches; elle se
définit dans les paramètres de Windows / Affichage / Apparence.
MP

"Gaston Pouliot" a écrit dans le message de
news:144101c4a38c$87e30e90$
J'ai créer un formulaire lié à des données d'un classeur
excel.Excel ne m'offre que 2 possibilités de position pour
le titre, soit à gauche ou à droite . Moi J'aimerais que
mon titre soit centré. Existe-il un module de classe déjà
programmé à cet effet. De plus j'aimerais que mon lettrage
soit plus gros. J'emploie déjà le module de classe
CFormChanger de Stephen Bullen pour le minimiser et le
restaurer mais celui-ci ne comprend pas le centrage du
titre. C'est un sujet un peu pointu. Aussi une réponse de
votre part me surprendrais mais qui ne demande rien n'a
rien.
Merci à l'avance.