OVH Cloud OVH Cloud

Look XP avec VB6

1 réponse
Avatar
Christian HUBERT-HUGOUD- Xtrem7
Salut à toutes et à tous,

Il m'a semblé lire quelque part qu'on pouvait donner aux applis VB6 un look
XP, avec une dll.

Des infos ?

Christian

1 réponse

Avatar
Christian
Bonjour,

En fait il s'agit plutôt d'APIs. Voici par exemple celles qui te
permettraient de donner l'aspect XP aux scrollbar

'*************** Pour les barres de scroll ****************
'Apis pour définir le style Windows XP
Public Const GWL_STYLE = (-16)
Public Const GWL_EXSTYLE = (-20)
Public Const WS_HSCROLL = &H100000

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long

'Apis pour définir la zone qui peut-être "défilée"
Public Const LB_SETHORIZONTALEXTENT = &H194
Public Const LB_SETVERTICALEXTENT = &H200

Public Const SWP_FRAMECHANGED = &H20
Public Const SWP_NOOWNERZORDER = &H200
'******* Fin

Dans le code, cela donne ça. Il s'agit d'un fileListBox Dir1. Ce code dans
l'événement Form_Load où se trouve le contrôle Dir1.

' Fait apparaître la barre de scrolling
SetStyle Dir1.hwnd, WS_HSCROLL, 1
SendMessage Dir1.hwnd, LB_SETHORIZONTALEXTENT, 1000, ByVal 0&
'wParam : Specifies the number of pixels by which the list box can be
scrolled.
'ici : 200
SetWindowPos Dir1.hwnd, 0, 0, 0, 0, 0, _
SWP_NOSIZE Or SWP_NOMOVE Or SWP_FRAMECHANGED Or SWP_NOOWNERZORDER
'SetWindowPos permet de rafraichir le contrôle


Voici pour les ProgressBar. Ce code se trouve également dans le Form_Load
contenant le contrôle.

' Changement de la couleur de la progressbar
SendMessage ProgressBar.hwnd, PBM_SETBKCOLOR, 0, ByVal vbWhite ' Fond blanc
SendMessage ProgressBar.hwnd, PBM_SETBARCOLOR, 0, ByVal vbGreen ' Barre
verte

J'espère avoir répondu à ta question.

Christian.



'*****API pour changer la couleur de la ProgressBar*****
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As
Any) As Long
'*****CONSTANTES de l'API SendMessage******
Public Const CCM_FIRST = &H2000
Public Const CCM_SETBKCOLOR = (CCM_FIRST + 1)
Public Const PBM_SETBKCOLOR = CCM_SETBKCOLOR
Public Const WM_USER = &H400
Public Const PBM_SETBARCOLOR = (WM_USER + 9)

"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans
le message de news: ci3l2k$kfm$
Salut à toutes et à tous,

Il m'a semblé lire quelque part qu'on pouvait donner aux applis VB6 un


look
XP, avec une dll.

Des infos ?

Christian