Hi guys, a problem and I have no promising clue:
I have created an activeX control which has a PictureBox. I have exposed Picture property like this:
(Picture1 is the name of constituent PictureBox drawn on UserControl)
Now when I try to use this property in a form at run time:Code:'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES! 'MappingInfo=Picture1,Picture1,-1,Picture Public Property Get Picture() As Picture Attribute Picture.VB_Description = "Returns/sets a graphic to be displayed in a control." Set Picture = Picture1.Picture End Property Public Property Set Picture(ByVal New_Picture As Picture) Set Picture1.Picture = New_Picture PropertyChanged "Picture" End Property
For Picture1, I get "Invalid use of property" compile error.Code:Picture1.Picture = LoadPicture("d:\xyz.jpg") 'Picture1 is my activeX control Picture2.Picture = LoadPicture("d:\xyz.jpg") 'Picture2 is a VB picture Box
However, if I comment line1 and run, it runs normally for Picture2.
Then I tried changing data type Picture to StdPicture and IPictureDisp in Get and Let, but got same error.
I have confirmed that LoadPicture is indeed referring to VB.Loadpicture and not something else in my code.
Please not that I can set the picture alright at design time from properties windows. The error occurs only at run time. Also I haven't coded the property manually, it has been added by VB's ActiveX Interface Wizard.
My aim is to use LoadPicture normally for my activeX control as we use for a PictureBox. Alternative implementation of Get and Let for Picture property will also do. Only condition is that it should work as normal PictureBox.
I have exposed all the properties of PictureBox in my control, but so far only LoadPicture has given problem.
Thanks for your time.


Reply With Quote

Bookmarks