Utilisation de SendMessage-constante API

cs_Trappiste Messages postés 6 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 25 août 2005 - 23 août 2005 à 14:56
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 23 août 2005 à 15:33
Bonjour.
Pour mon application, j'aimerai changer la couleur de fond d'un HScroll lorsque l'utilisateur sélectionne une certaine plage.
Comme la propriété backcolor n'existe pas, je dois utiliser la fontion API SendMessage dont la déclaration est la suivante :

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

L'appel devrait ressembler à ceci :
SendMessage HScroll1.hwnd,HSM_Bkcolor,0,ByVal RGB(red,green,blue)

Le problème est que je ne connais pas la constante HSM_Bkcolor à passer en paramètre !
Quelqu'un pourrait-il m'aider ? Merci.

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 août 2005 à 15:18
Je ne sais pas si vous avez une méthode pour le faire en vb mais en API pas du tout comme tu les dis.
Il faut intercepter le message WM_CTLCOLORSCROLLBAR envoyé par le system a la fenêtre mère (contenant la scrollbar).

ciao...
BruNews, MVP VC++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 août 2005 à 15:20
ah oui, pour finir il faut que tu retournes un HBRUSH sur l'event WM_CTLCOLORSCROLLBAR.

ciao...
BruNews, MVP VC++
0
cs_Trappiste Messages postés 6 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 25 août 2005
23 août 2005 à 15:29
Merci pour votre réponse très rapide.
Disons que j'ai testé SendMessage qui fonctionne à merveille avec les contrôles pour lesquels je connais la valeur du paramètre wMsg.
Je ne sais pas quel est le nom générique de la constante pour une HScroll.
Si le paramètre est appelé WM_CTLCOLORSCROLLBAR, quelle est sa valeur ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 août 2005 à 15:33
salut
Private Const WM_CTLCOLORSCROLLBAR = &H137
PCPT
0
Rejoignez-nous