si cela est possible d'écrire un contrôle com ou ActiveX en C# et l'utiliser dans MFC?écrire un contrôle com en C# et l'utiliser dans MFC
Répondre
Oui. D'abord, vous devez créer un objet COM. Voici un exemple très simple.
[Guid("123565C4-C5FA-4512-A560-1D47F9FDFA20")]
public interface IDoSomething
{
[DispId(1)]
string Name { get; }
[DispId(2)]
int DoSomething();
}
[ComVisible(true)]
[Guid("12AC8095-BD27-4de8-A30B-991940666927")]
[ClassInterface(ClassInterfaceType.None)]
public sealed class DoSomething: IDoSomething
{
public DoSomething()
{
}
public string Name
{
get { return ""; }
}
public int DoSomething()
{
return 4; //random number
}
}
Ensuite, vous devez regaser votre assemblage. L'outil regasm ajoutera les entrées de registre COM nécessaires:
regasm.exe /tlb component.dll
/TLB est nécessaire pour générer la bibliothèque de type à importer dans votre application MFC. Une fois votre assembly enregistré, vous pouvez appeler DoSomething dans votre application MFC comme tous les autres objets COM.
Cochez cette case link pour plus d'informations.
C'est un peu en dehors de mon territoire normal, car je n'interagis pas avec la technologie .NET Interop.
Il est possible de créer ce qu'on appelle un encapsulable COM Callable autour de votre contrôle/classe C# pour le rendre accessible à tout programme compatible COM. Je ne répéterai pas la réponse de Francis B, car elle est assez complète en l'état.
La grande question est de savoir si un contrôle C# visuel fonctionne de manière transparente dans une fenêtre MFC. Ce n'est pas quelque chose que je peux répondre, mais mon meilleur conseil serait de se préparer à une route cahoteuse à venir. S'il vous plaît voir http://bytes.com/topic/net/answers/430618-c-control-mfc-window-frame pour plus de détails.
- 1. contrôle OwnerDrawn dans MFC
- 2. événement COM manutention en C++
- 3. Comment pouvez-vous mettre un contrôle à l'avant en mfc
- 4. Écrire des pilotes en C#
- 5. COM Exceptions en C#
- 6. Comment puis-je accéder à un contrôle ActiveX dans MFC?
- 7. Quel type de projet C# utiliseriez-vous pour redévelopper un contrôle MFC C++ ActiveX?
- 8. Comment écrire un Tilde normal (~) en C#?
- 9. Catching User Input dans Client C# COM
- 10. Écrire au fichier binaire en C++ et C#
- 11. Comment utiliser COM en C#
- 12. une bonne méthode pour insérer un contrôle tout comme Excel dans le programme MFC/C++?
- 13. Détail grille dans MFC
- 14. Écrire un objet .NET dans C?
- 15. Contrôle TreeView en C#, select() et focus
- 16. Utilisation de CoGetClassObject() en C - interface COM Object Access
- 17. Enregistrer un composant C# COM?
- 18. Transmission de données entre l'application C++ (MFC) et C#
- 19. Dans quelle syntaxe doit-on écrire un document de référence COM SDK?
- 20. comment écrire un port com virtuel au pilote TCP?
- 21. Comment écrire un contrôle personnalisé récursif dans WinForms .NET
- 22. Événements COM + avec C# et .NET
- 23. Comment ouvrir le fichier existant en utilisant COM/ATL (pas MFC)
- 24. Gestion d'un objet COM en C#
- 25. Pouvez-vous écrire un bloc de code C++ dans C#?
- 26. Comment écrire des événements et des eventhandlers en C#?
- 27. Créer un serveur COM Surrogate (exe) en C#
- 28. Server.MapPath dans un composant COM
- 29. Le contrôle statique n'est pas transparent + MFC
- 30. Écrire un C# client/serveur