Hello,
voilà j'essaie de créer un contrôle activeX en C# comprenant une PictureBox dans un usercontrol. Cela ne marche pas trop mal et je peux utiliser le controle dans Excel. Le souci que j'ai c'est pour pouvoir utiliser une propriété pour pouvoir charger une image en mode création de mon controle. Voici le code de l'interface pour les propriétés que j'ai ajouté :
Voici ce que je vois comme propriétés en mode création :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 [Guid(PictCtrl.InterfaceId), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface IAxPictCtrl { #region Properties [DispId(1)] bool Visible { get; set; } // Typical control property [DispId(2)] bool Enabled { get; set; } // Typical control property [DispId(3)] Color ForeColor { get; set; } // Typical control property [DispId(4)] Color BackColor { get; set; } [DispId(5)] string MonImage {get; set;} // Custom property [DispId(6)] string MonTexteAide { get; set; } [DispId(7)] AcceptType AcceptType { get; set; } // enumeration [DispId(8)] stdole.IPictureDisp MyPicture { get; set; }
comme on peut le constater il n'y a pas MyPicture.
et si je regarde dans l'explorateur d'objet de l'Editeur VBA d'Excel :
on voit bien la propriété MyPicture mais elle est de type Unknown alors qu'elle devrait être de type StdPicture (j'ai remplacé aussi dans le code C# ole.IPictureDisp par ole.StdPicture mais cela fait la même chose).
Quelqu'un a-t-il une idée d'où peut provenir le problème ?
Ami calmant, J.P
Partager