Search code examples
c#comwindows-7tablet-pcmicrosoft-ink

Is it possible to cast a .NET class into a COM library class?


I am using the MathInputControl class in C# through the micautLib COM library.

Example:

    MathInputControl mic = new MathInputControlClass();
    mic.EnableExtendedButtons(true);
    mic.Show();

I am using Microsoft.Ink and I would like to be able to send an Ink object to the MathInputControl object through the MathInputControl.LoadInk(IInkDisp ink); method. However, the IInkDisp interface is an unmanaged interface and none of the managed Microsoft.Ink classes implement it.

How can I send it a managed Ink object?


Solution

  • I'd build a ComVisible wrapper that implements IInkDisp and delegates to whatever Microsoft.Ink facilities you need.