2012-03-14 8 views
0

Je commence à développer une série de contrôles ATL ActiveX personnalisés pour un nouveau projet et j'utilise l'assistant de projet ATL. Pour l'avenir je veux m'assurer que les contrôles peuvent être utilisés dans C# et VC++.Propriété de police ATL ActiveX

J'ai rencontré un problème où je peux créer un projet C#, abandonner mon contrôle sur un formulaire et modifier la propriété de police. Le texte rendu est immédiatement redessiné dans la police nouvellement sélectionnée.

Toutefois, lorsque je crée un projet basé sur MFC dans VC++, supprimez mon contrôle sur une boîte de dialogue et modifiez la propriété de police. Le texte rendu n'est PAS redessiné dans la police nouvellement sélectionnée. Si je déplace mon contrôle sur la boîte de dialogue, le test est redessiné correctement

Ce qui donne? Les deux frameworks d'applications sont hébergés dans le même environnement MSVS 2010 et utilisent la même boîte à outils mais se comportent différemment. J'ai cherché une réponse pendant des heures mais en vain.

Répondre

0

Il se peut que le concepteur de boîtes de dialogue MFC soit un peu ancien par rapport au concepteur de WinForms, et il contient donc quelques bogues. Il peut être préférable de tester cela à au moment de l'exécution, en modifiant immédiatement les mises à jour des propriétés de police dans les deux situations. Le concepteur de boîtes de dialogue MFC peut simplement ne pas déclencher le bon message au bon moment - ou ne pas être repeindre à des moments appropriés.

+0

Aucun problème lors de l'exécution. Merci – user1269285