Couleur barre titre Usf

  • Initiateur de la discussion Zeltron
  • Date de début
Z

Zeltron

Guest
Bonjour à tout le Forum,

En cherchant sur le site, notamment dans les archives ( mots de recherche: couleur USF), j'ai trouvé le fil qui répondait à ma question: comment changer la couleur ( par défaut bleue) de la barre de Titre d'un USF?

J'ai donc mis les codes suivants:

Dans un module ( Module1):

Declare Function SetSysColors Lib 'user32' (ByVal nChanges _
As Long, lpSysColor As Long, lpColorValues As Long) As Long
Public Const COLOR_ACTIVECAPTION = 2

Dans le code du userform:

Dim OldColor As Long

'-----------------
Private Sub Form_Load()
MaCouleur
End Sub

'-----------------
Private Sub Form_Unload(Cancel As Integer)
SetSysColors 1, COLOR_ACTIVECAPTION, OldColor
End Sub
'-----------------

Sub MaCouleur()
OldColor = GetSysColor(COLOR_ACTIVECAPTION)
SetSysColors 1, COLOR_ACTIVECAPTION, RGB(255, 0, 0)
End Sub


Cependant, rien n'y fait, il n' y à pas de blocage, le usf s'affiche bien mais la barre de titre reste toujours bleue. J'ai essayé de changer le code RGB, mais rien n'y fait.

Me suis je tromper dans l'emplacement des codes? D'où vient le pb?

Pouvez vous m'aider?

Je vous joint le fichier en question.

Vous remerciant par avance si vous vous penchez sur mon problème.

Cordialement

Zeltron [file name=coultitreusf.zip size=11013]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/coultitreusf.zip[/file]
 

Pièces jointes

  • coultitreusf.zip
    10.8 KB · Affichages: 128

Ti_

Nous a quitté
Repose en paix
Eh oui, c'est le problème quand on reprend du code pas tout à fait adapté. Dans ton cas, ce code fonctionnera (à la rigueur) dans un programme VB, mais pas en VBA. Il faut donc l'adapter un peu. D'autre part, l'utilisation de SetSysColor ne fonctionnera pas pour modifier la couleur de titre dans XP, si tu utilise un des styles par défaut d'XP parce qu'il n'utilise pas une couleur simple mais des couleurs combinées. Autant dire qu'il vaut mieux oublier essayer de modifier les couleurs de la barre de titre de ton usf.
Cependant tout n'est pas perdu, tu peux encore modifier la couleur du texte de cette barre de titre avec le code suivant que tu colles dans un userform, c'est déjà mieux que rien :

Code:
'Ti
Const COLOR_CAPTIONTEXT = 9
Private Declare Function SetSysColors Lib 'user32' (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
Private Declare Function GetSysColor Lib 'user32' (ByVal nIndex As Long) As Long

Dim Old&

Private Sub UserForm_Activate()
  Old = GetSysColor(COLOR_CAPTIONTEXT)
  SetSysColors 1, COLOR_CAPTIONTEXT, vbGreen
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  SetSysColors 1, COLOR_CAPTIONTEXT, Old
End Sub

Message édité par: Ti_, à: 31/03/2006 13:19
 
Z

Zeltron

Guest
Je te remercie TI pour tes conseils et tes remarques, je viens d'essayer le code que tu m'a fourni. Cela fonctionne super.

Merci encore pour le temps que rtu a passé sur mon problème.

Cordialement

Zeltron
 

Discussions similaires

Réponses
8
Affichages
678

Statistiques des forums

Discussions
312 387
Messages
2 087 860
Membres
103 671
dernier inscrit
rachid1983