Essayer de créer un panneau de saisie mathématique en C #
Question
Comment créer un panneau de saisie mathématique en C #?
J'ai essayé de le mettre dans une dll et de l'appeler, mais il se ferme tout de suite.
#include <stdafx.h>
#include <atlbase.h>
#include "micaut.h"
#include "micaut_i.c"
extern "C" __declspec(dllexport) int run()
{
CComPtr<IMathInputControl> g_spMIC; // Math Input Control
HRESULT hr = CoInitialize(NULL);
hr = g_spMIC.CoCreateInstance(CLSID_MathInputControl);
hr = g_spMIC->EnableExtendedButtons(VARIANT_TRUE);
hr = g_spMIC->Show();
return hr;
}
J'appelle la fonction dll en C # et le panneau apparaît mais disparaît tout de suite. Des suggestions?
La solution
Dans votre projet C #, ajoutez une référence à la bibliothèque COM micautLib
. Ensuite, vous pouvez utiliser le code suivant (en C #):
MathInputControl ctrl = new MathInputControlClass();
ctrl.EnableExtendedButtons(true);
ctrl.Show();
Je ne sais pas si c'est exactement ce que vous êtes censé faire, mais cela semble fonctionner correctement (programme complet).
using System;
using System.Windows.Forms;
using micautLib;
namespace MathInputPanel
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MathInputControl ctrl = new MathInputControlClass();
ctrl.EnableExtendedButtons(true);
ctrl.Show();
ctrl.Close += () => Application.ExitThread();
Application.Run();
}
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow