Theme xp absent sur objet activex

Signaler
Messages postés
41
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2006
-
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
-
Bonjour tout le monde.

J'ai une application développée en vb.net 2005 express qui contient un controle activex développé en vb6.

Mon problème est que le thème windows xp ne s'applique pas au contenu du composant ActiveX.
Pourtant, dans l'interface de développement vb.net le thème xp s'applique parfaitement sur ce contrôle, mais lorsque je passe en mode debug le thème disparait.

Une idée pour pouvoir le remettre ?

Merci par avance.

5 réponses

Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Le controle VB6 est autonome. Il faut donc le recoder pour lui demandé d'appliquer les thèmes XP

Bonne prog
++
0
Messages postés
41
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2006

Merci beaucoup pour cette piste mais qu'entends tu par "recorder" ?

Loïc
0
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Il te faut le code source de l'activeX et le modifier pour qu'il accepte les themes XP. (uxtheme.dll)

Bonne prog
++
0
Messages postés
41
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2006

J'ai le code source de l'activex mais je souhaite ne pas être dépendant d'autres dll.

Je pense qu'il doit y avoir une autre solution car avec d'autres environnements de développement ce problème n'apparait pas.
Sous visual foxpro 9 par exemple, l'activex prend bien les themes XP. Dans le mode Design de vb.net il les prends bien aussi mais dès lors que le projet est compilé il ne les prends plus.

Loïc
0
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Je sais en .NET pas de problème car c'est pondu après WinXP donc ça le prend en charge.
Mais en VB6 (1998) .... aïe...

Essai avec un .manifest. Cela fonctionne avec des exe donc pourquoi pas avec un controle ActiveX.

Sinon pour uxtheme.dll : c'est la dll de Windows XP qui permet l'affichage des thèmes. Donc forcément sur toutes les becannes sous XP.

Cherche un peu sur le site pour le .manifest il est possible de l'inclure dans ton binaire. Cela evite de le trimbaler à part.

Bonne prog
++
0