InitCommonControlsEx

Résolu
bonjourcheval Messages postés 228 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 8 août 2011 - 13 août 2008 à 22:25
bonjourcheval Messages postés 228 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 8 août 2011 - 14 août 2008 à 15:28
Bonjour à vous!

Je ne sais pas si vous vous souvenez mon topic avec mon erreur graphique?

http://www.vbfrance.com/infomsg_PROBLEMES-AFFICHAGES_1171600.aspx#7

Et bien elle vient de réapparaître!!!

Alors que je croyais que :

Private Declare Function InitCommonControlsEx Lib "comctl32.dll" _
                                 (iccex As tagInitCommonControlsEx) As Boolean
                                       
Private Const ICC_USEREX_CLASSES = &H200
                                       
Private Type tagInitCommonControlsEx
    lngSize As Long
    lngICC As Long
End Type

Public Function InitCommonControlsVB() As Boolean
On Error Resume Next

Dim iccex As tagInitCommonControlsEx

iccex.lngSize = LenB(iccex)
iccex.lngICC = ICC_USEREX_CLASSES

Call InitCommonControlsEx(iccex)
InitCommonControlsVB (Err.Number 0)
On Error GoTo 0
End Function

Avait règlé le probleme. Alors ma question est : Est-ce que j'ai utiliser cette fonction correctement?

Si non, qu'est-ce que j'ai fait d'incorrect?

Si oui, alors je ne comprends plus rien!

3 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
13 août 2008 à 23:59
salut,

tu devais tenter avec un installeur intégrant la font, çà a donné quoi?

petite modif pour ta fonction :

Option Explicit
'http://msdn.microsoft.com/fr-fr/bb775697(en-us).aspx
'http://msdn.microsoft.com/fr-fr/bb775507(en-us,VS.85).aspx
'
'Private Const ICC_USEREX_CLASSES
= &H200        'Load ComboBoxEx class. ???? pourquoi faire?
'
Private Const ICC_NATIVEFNTCTL_CLASS As Long
= &H2000&
'Load a native font control class.
Private Const ICC_STANDARD_CLASSES   As Long
= &H4000&
'Load one of the intrinsic User32 control classes.
The user controls include button, edit, static, listbox, combobox, and
scrollbar.
'
Private Type tagInitCommonControlsEx
    lngSize As Long
    lngICC  As Long
End Type
'
Private Declare Function InitCommonControlsEx Lib "comctl32.dll" (iccex As tagInitCommonControlsEx) As Boolean
Private Declare Sub InitCommonControls Lib "comctl32" ()
'
'
Public Function InitCommonControlsVB() As
Boolean
'   vérifier la version sur chaque poste
:     comctl32.dll version 4.71 or later

    Dim iccex As tagInitCommonControlsEx
    iccex.lngSize = LenB(iccex)
    iccex.lngICC = ICC_NATIVEFNTCTL_CLASS
'    essayer avec :
'    iccex.lngICC = ICC_STANDARD_CLASSES

    If InitCommonControlsEx(iccex) Then
        InitCommonControlsVB = True
    Else
        Call InitCommonControls
        Debug.Print "LE PC NE SUPPORTE PAS
'InitCommonControlsEx'"
    End If
End Function

(debug.print en compilé çà va pas être facile )

bons tests ^^
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
3
bonjourcheval Messages postés 228 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 8 août 2011
14 août 2008 à 15:28
Bonjour PCPT,

mon testeur test mon programme depuis dejà 1h30 et il n'a toujours pas eu LE bug!

Je crois bien qu'il est règlé! En fait, j'ai modifier mon InitCommonControl pour qu'il 'load'  les 2 deux constantes que tu m'as donné, je me suis assuré que tous mes recorset et que mes bases se ferment et j'ai ajouter ma font dans l'installateur.

Ps : J'utilisais ICC_USEREX_CLASSES, parce que c'était la seule constante que j'avais réussit à trouver la valeur XD

Sur MSDN je n'avais pas trouver les valeurs des deux que tu m'as donné, alors je m'avais dit : Je trouverai plus tard.
J'ai finalement oublié...

Alors voilà. Si jamais je revois ce bug... je crois que je pleure

Merci encore PCPT
3
bonjourcheval Messages postés 228 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 8 août 2011
13 août 2008 à 22:44
Ah oui j'oubliais, j'appelle la fonction dans mon sub_Main. Si jamais vous alliez dire que c'est parce que je ne l'appelle pas xD

Merci de votre temps

  
0
Rejoignez-nous