Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
On Thu, 28 Feb 2008 10:24:50 +0100, "Driss HANIB"
wrote:Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
Pas essayé mais ça devrait convenir :
http://www.mvps.org/emorcillo/en/code/vb6/graphicalbuttonxp.shtml
On Thu, 28 Feb 2008 10:24:50 +0100, "Driss HANIB"
<dhanib@club-internet.fr> wrote:
Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
Pas essayé mais ça devrait convenir :
http://www.mvps.org/emorcillo/en/code/vb6/graphicalbuttonxp.shtml
On Thu, 28 Feb 2008 10:24:50 +0100, "Driss HANIB"
wrote:Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
Pas essayé mais ça devrait convenir :
http://www.mvps.org/emorcillo/en/code/vb6/graphicalbuttonxp.shtml
On Sat, 01 Mar 2008 19:48:34 +0100, parci wrote:On Thu, 28 Feb 2008 10:24:50 +0100, "Driss HANIB"
wrote:Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise
pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
Pas essayé mais ça devrait convenir :
http://www.mvps.org/emorcillo/en/code/vb6/graphicalbuttonxp.shtml
Pas terrible, en fait.
Ceci dit, je te remercie parce que ta question m'a fait comprendre
qu'un problème de performances de chargement de données que j'avais eu
dans le passé était lié à l'utilisation d'un fichier manifest.
Pour ceux que ça intéresse et qui voudraient reproduire le problème :
config : VB5 / Xp Media Center sp2 / Ado 2.8 / db Access 2000 (il me
semble que c'était pareil sur un Xp Pro, je confirmerai plus tard)
le fichier manifest :
si externe comme indiqué là :
http://support.microsoft.com/default.aspx?scid=kb;en-us;309366
si inclus dans un fichier ressource comme dans l'exemple de
vbAccelerator :
http://www.vbaccelerator.com/home/VB/Code/Libraries/XP_Visual_Styles/Using_XP_Visual_Styles_in_VB/VB6_XP_Styles_Demonstration_-_Manifest_Resource.asp
Une table d'environ 5000 lignes que je charge dans un combobox. Temps
de chargement en ms :
style xp sans fichier manifest
création du recordset : 15
chargement du combo : 670/680
style xp avec fichier manifest
création du recordset : 15
chargement du combo : 4600/4800
style xp avec fichier manifest dans un fichier ressource
création du recordset : 15
chargement du combo : entre 2200/2300 et 5000
ça fait cher la bordure bleu ciel autour du combo.
style windows classique sans fichier manifest
création du recordset : 15
chargement du combo : 530/540
style windows classique avec fichier manifest
création du recordset : 15
chargement du combo : 4200/4400
style windows classique avec fichier manifest dans un fichier
ressource
création du recordset : 15
chargement du combo : entre 2000 et 4200/4400
ça fait très cher pour rien.
Conclusion, plus de style lego pour moi en Vb.
Souriez, vous êtes archivé :
http://groupes.codes-sources.com/article-utilisation-fichier-manifest-294853.aspx
On Sat, 01 Mar 2008 19:48:34 +0100, parci <parci@invalid.fr> wrote:
On Thu, 28 Feb 2008 10:24:50 +0100, "Driss HANIB"
<dhanib@club-internet.fr> wrote:
Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise
pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
Pas essayé mais ça devrait convenir :
http://www.mvps.org/emorcillo/en/code/vb6/graphicalbuttonxp.shtml
Pas terrible, en fait.
Ceci dit, je te remercie parce que ta question m'a fait comprendre
qu'un problème de performances de chargement de données que j'avais eu
dans le passé était lié à l'utilisation d'un fichier manifest.
Pour ceux que ça intéresse et qui voudraient reproduire le problème :
config : VB5 / Xp Media Center sp2 / Ado 2.8 / db Access 2000 (il me
semble que c'était pareil sur un Xp Pro, je confirmerai plus tard)
le fichier manifest :
si externe comme indiqué là :
http://support.microsoft.com/default.aspx?scid=kb;en-us;309366
si inclus dans un fichier ressource comme dans l'exemple de
vbAccelerator :
http://www.vbaccelerator.com/home/VB/Code/Libraries/XP_Visual_Styles/Using_XP_Visual_Styles_in_VB/VB6_XP_Styles_Demonstration_-_Manifest_Resource.asp
Une table d'environ 5000 lignes que je charge dans un combobox. Temps
de chargement en ms :
style xp sans fichier manifest
création du recordset : 15
chargement du combo : 670/680
style xp avec fichier manifest
création du recordset : 15
chargement du combo : 4600/4800
style xp avec fichier manifest dans un fichier ressource
création du recordset : 15
chargement du combo : entre 2200/2300 et 5000
ça fait cher la bordure bleu ciel autour du combo.
style windows classique sans fichier manifest
création du recordset : 15
chargement du combo : 530/540
style windows classique avec fichier manifest
création du recordset : 15
chargement du combo : 4200/4400
style windows classique avec fichier manifest dans un fichier
ressource
création du recordset : 15
chargement du combo : entre 2000 et 4200/4400
ça fait très cher pour rien.
Conclusion, plus de style lego pour moi en Vb.
Souriez, vous êtes archivé :
http://groupes.codes-sources.com/article-utilisation-fichier-manifest-294853.aspx
On Sat, 01 Mar 2008 19:48:34 +0100, parci wrote:On Thu, 28 Feb 2008 10:24:50 +0100, "Driss HANIB"
wrote:Bonjour
Je suis en train de rendre un prog fait en VB6 au style XP. J'utilise
pour
cela un fichier manifest.
Cela se passe assez bien (n gérant les options boutons..) mais il y a un
petit "problème" avec les boutons : si on utilise un bouton en style
"graphical", pour mettre notament une icone, le format XP ne s'applique
pas..
Avez vous rencontré ce problème et l'avez vous résolu ?..
Pas essayé mais ça devrait convenir :
http://www.mvps.org/emorcillo/en/code/vb6/graphicalbuttonxp.shtml
Pas terrible, en fait.
Ceci dit, je te remercie parce que ta question m'a fait comprendre
qu'un problème de performances de chargement de données que j'avais eu
dans le passé était lié à l'utilisation d'un fichier manifest.
Pour ceux que ça intéresse et qui voudraient reproduire le problème :
config : VB5 / Xp Media Center sp2 / Ado 2.8 / db Access 2000 (il me
semble que c'était pareil sur un Xp Pro, je confirmerai plus tard)
le fichier manifest :
si externe comme indiqué là :
http://support.microsoft.com/default.aspx?scid=kb;en-us;309366
si inclus dans un fichier ressource comme dans l'exemple de
vbAccelerator :
http://www.vbaccelerator.com/home/VB/Code/Libraries/XP_Visual_Styles/Using_XP_Visual_Styles_in_VB/VB6_XP_Styles_Demonstration_-_Manifest_Resource.asp
Une table d'environ 5000 lignes que je charge dans un combobox. Temps
de chargement en ms :
style xp sans fichier manifest
création du recordset : 15
chargement du combo : 670/680
style xp avec fichier manifest
création du recordset : 15
chargement du combo : 4600/4800
style xp avec fichier manifest dans un fichier ressource
création du recordset : 15
chargement du combo : entre 2200/2300 et 5000
ça fait cher la bordure bleu ciel autour du combo.
style windows classique sans fichier manifest
création du recordset : 15
chargement du combo : 530/540
style windows classique avec fichier manifest
création du recordset : 15
chargement du combo : 4200/4400
style windows classique avec fichier manifest dans un fichier
ressource
création du recordset : 15
chargement du combo : entre 2000 et 4200/4400
ça fait très cher pour rien.
Conclusion, plus de style lego pour moi en Vb.
Souriez, vous êtes archivé :
http://groupes.codes-sources.com/article-utilisation-fichier-manifest-294853.aspx
merci parci
à la fois pour ton lien que je vais regarder et pour tes tests.
C'est vrai pour ma part, chargeant des feuilles avec de nombreux controles
cela ralentit...
je vais voir tout cela..
au pire j'enlèev le fichier manifest, quoique je l'ai mis dasn une classe
qui le crée (trouvé sur le net :vbfrance je le crois)
merci parci
à la fois pour ton lien que je vais regarder et pour tes tests.
C'est vrai pour ma part, chargeant des feuilles avec de nombreux controles
cela ralentit...
je vais voir tout cela..
au pire j'enlèev le fichier manifest, quoique je l'ai mis dasn une classe
qui le crée (trouvé sur le net :vbfrance je le crois)
merci parci
à la fois pour ton lien que je vais regarder et pour tes tests.
C'est vrai pour ma part, chargeant des feuilles avec de nombreux controles
cela ralentit...
je vais voir tout cela..
au pire j'enlèev le fichier manifest, quoique je l'ai mis dasn une classe
qui le crée (trouvé sur le net :vbfrance je le crois)
On Mon, 3 Mar 2008 10:44:25 +0100, "Driss HANIB"
wrote:merci parci
à la fois pour ton lien que je vais regarder et pour tes tests.
C'est vrai pour ma part, chargeant des feuilles avec de nombreux
controles
cela ralentit...
je vais voir tout cela..
au pire j'enlèev le fichier manifest, quoique je l'ai mis dasn une classe
qui le crée (trouvé sur le net :vbfrance je le crois)
Pour en revenir au bouton de style graphique, il y a un moyen assez
simple qui donne un résultat que je trouve acceptable même si ce n'est
pas exactement le style xp (pas de bordure de couleur). Pour essayer,
il faut un formulaire avec un bouton avec le style standard et un
picturebox contenant une icone. Tu compiles sans oublier le manifest
et tu vera si ça te convient.
Private Sub Form_Load()
SetIconButton Me.Command1.hWnd, Me.Picture1.Picture.Handle
End Sub
Et dans un module :
' Button style and message
Private Const BM_SETIMAGE As Long = &HF7
Private Const IMAGE_ICON As Long = 1
Private Const BS_ICON As Long = 64
' Window field offsets for GetWindowLong()
Private Const GWL_STYLE = (-16)
' SetWindowPos Flags
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOREDRAW = &H8
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_NOCOPYBITS = &H100
Private Const SWP_NOOWNERZORDER = &H200
Private Declare Function SetWindowLong _
Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal lNewLong As Long) As Long
Private Declare Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos _
Lib "user32" _
(ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal _
Y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
' -------------------------------------------
' appliquer un style de fenêtre
Public Function UpdateStyle(hWnd As Long, _
dwBitsOr As Long, _
dwBitsNot As Long) As Long
Dim lStyle As Long
If IsWindow(hWnd) Then
lStyle = GetWindowLong(hWnd, GWL_STYLE)
lStyle = (lStyle Or dwBitsOr)
lStyle = (lStyle And Not dwBitsNot)
SetWindowLong hWnd, GWL_STYLE, lStyle
SetWindowPos hWnd, 0, 0, 0, 0, 0, _
SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOZORDER Or _
SWP_NOOWNERZORDER Or SWP_FRAMECHANGED
End If
End Function
Public Sub SetIconButton(hButton As Long, hIcon As Long)
UpdateStyle hButton, BS_ICON, 0
SendMessage hButton, BM_SETIMAGE, IMAGE_ICON, ByVal hIcon
End Sub
On Mon, 3 Mar 2008 10:44:25 +0100, "Driss HANIB"
<dhanib@club-internet.fr> wrote:
merci parci
à la fois pour ton lien que je vais regarder et pour tes tests.
C'est vrai pour ma part, chargeant des feuilles avec de nombreux
controles
cela ralentit...
je vais voir tout cela..
au pire j'enlèev le fichier manifest, quoique je l'ai mis dasn une classe
qui le crée (trouvé sur le net :vbfrance je le crois)
Pour en revenir au bouton de style graphique, il y a un moyen assez
simple qui donne un résultat que je trouve acceptable même si ce n'est
pas exactement le style xp (pas de bordure de couleur). Pour essayer,
il faut un formulaire avec un bouton avec le style standard et un
picturebox contenant une icone. Tu compiles sans oublier le manifest
et tu vera si ça te convient.
Private Sub Form_Load()
SetIconButton Me.Command1.hWnd, Me.Picture1.Picture.Handle
End Sub
Et dans un module :
' Button style and message
Private Const BM_SETIMAGE As Long = &HF7
Private Const IMAGE_ICON As Long = 1
Private Const BS_ICON As Long = 64
' Window field offsets for GetWindowLong()
Private Const GWL_STYLE = (-16)
' SetWindowPos Flags
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOREDRAW = &H8
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_NOCOPYBITS = &H100
Private Const SWP_NOOWNERZORDER = &H200
Private Declare Function SetWindowLong _
Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal lNewLong As Long) As Long
Private Declare Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos _
Lib "user32" _
(ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal _
Y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
' -------------------------------------------
' appliquer un style de fenêtre
Public Function UpdateStyle(hWnd As Long, _
dwBitsOr As Long, _
dwBitsNot As Long) As Long
Dim lStyle As Long
If IsWindow(hWnd) Then
lStyle = GetWindowLong(hWnd, GWL_STYLE)
lStyle = (lStyle Or dwBitsOr)
lStyle = (lStyle And Not dwBitsNot)
SetWindowLong hWnd, GWL_STYLE, lStyle
SetWindowPos hWnd, 0, 0, 0, 0, 0, _
SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOZORDER Or _
SWP_NOOWNERZORDER Or SWP_FRAMECHANGED
End If
End Function
Public Sub SetIconButton(hButton As Long, hIcon As Long)
UpdateStyle hButton, BS_ICON, 0
SendMessage hButton, BM_SETIMAGE, IMAGE_ICON, ByVal hIcon
End Sub
On Mon, 3 Mar 2008 10:44:25 +0100, "Driss HANIB"
wrote:merci parci
à la fois pour ton lien que je vais regarder et pour tes tests.
C'est vrai pour ma part, chargeant des feuilles avec de nombreux
controles
cela ralentit...
je vais voir tout cela..
au pire j'enlèev le fichier manifest, quoique je l'ai mis dasn une classe
qui le crée (trouvé sur le net :vbfrance je le crois)
Pour en revenir au bouton de style graphique, il y a un moyen assez
simple qui donne un résultat que je trouve acceptable même si ce n'est
pas exactement le style xp (pas de bordure de couleur). Pour essayer,
il faut un formulaire avec un bouton avec le style standard et un
picturebox contenant une icone. Tu compiles sans oublier le manifest
et tu vera si ça te convient.
Private Sub Form_Load()
SetIconButton Me.Command1.hWnd, Me.Picture1.Picture.Handle
End Sub
Et dans un module :
' Button style and message
Private Const BM_SETIMAGE As Long = &HF7
Private Const IMAGE_ICON As Long = 1
Private Const BS_ICON As Long = 64
' Window field offsets for GetWindowLong()
Private Const GWL_STYLE = (-16)
' SetWindowPos Flags
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOREDRAW = &H8
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_NOCOPYBITS = &H100
Private Const SWP_NOOWNERZORDER = &H200
Private Declare Function SetWindowLong _
Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal lNewLong As Long) As Long
Private Declare Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos _
Lib "user32" _
(ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal _
Y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
' -------------------------------------------
' appliquer un style de fenêtre
Public Function UpdateStyle(hWnd As Long, _
dwBitsOr As Long, _
dwBitsNot As Long) As Long
Dim lStyle As Long
If IsWindow(hWnd) Then
lStyle = GetWindowLong(hWnd, GWL_STYLE)
lStyle = (lStyle Or dwBitsOr)
lStyle = (lStyle And Not dwBitsNot)
SetWindowLong hWnd, GWL_STYLE, lStyle
SetWindowPos hWnd, 0, 0, 0, 0, 0, _
SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOZORDER Or _
SWP_NOOWNERZORDER Or SWP_FRAMECHANGED
End If
End Function
Public Sub SetIconButton(hButton As Long, hIcon As Long)
UpdateStyle hButton, BS_ICON, 0
SendMessage hButton, BM_SETIMAGE, IMAGE_ICON, ByVal hIcon
End Sub