Cet exemple illustre la façon d'ajouter un composant visuel écrit en C# dans l'écran de fond de Mercator (_screen). Le principe général de cet exemple est identique à celui repris sur cette page.
Le composant développé en C# contient 4 boutons. Chacun de ces boutons va être capable de lancer des commandes dans Mercator. Ceci via la méthode DoCmd de l'objet FoxTunnel.
Le code permettant de placer ce composant dans le fond d'écran de Mercator (_screen) s'écrit comme suit :
local ox_tunnel
ox_tunnel=createobject('FoxTunnel')
_screen.addProperty('MercatorControl1',xdotnetui("ControlLibraryForMercator.dll","ControlLibraryForMercator.MercatorControl",_screen.HWnd,m.ox_tunnel))
if type('_screen.MercatorControl1')='C'
stop(_screen.MercatorControl1)
endif
Notez que dans ce code l'objet FoxTunnel est créé dans Mercator et ensuite passé au constructeur du composant .Net. Ceci permet donc d'activer le "tunnel" entre l'environnement Mercator et l'environnement .Net. Ce qui permettra, dans cet exemple, l'utilisation de DoCmd pour les 4 boutons placés dans le composant.
Remarque importante : les composants intégrés dans Mercator via cette méthode ne peuvent présenter un curseur de texte (texbox, richtextbox, ...). Si tel est la cas, cette méthode doit être utilisée.
A télécharger :
0000001489.zip (37 Kb - 10/04/2008)